Re: [PATCHES] putting CHECK_FOR_INTERRUPTS in qsort_comparetup()
В списке pgsql-hackers по дате отправления:
| От | Greg Stark |
|---|---|
| Тема | Re: [PATCHES] putting CHECK_FOR_INTERRUPTS in qsort_comparetup() |
| Дата | |
| Msg-id | 87psgbl9ea.fsf@stark.xeocode.com обсуждение исходный текст |
| Список | pgsql-hackers |
"Charles Duffy" <charles.duffy@gmail.com> writes: > Their work_mem setting was rather large (1000000). We determined that when it > received SIGINT, the backend was always inside qsort(), so it wouldn't > call ProcessInterrupts() again until it finished this large in-memory > sort. Upon entering tuplesort_performsort(), state->memtupcount was > 29247. It occurs to me that this kind of thing is something dtrace could help with. It might even be able to do something clever like "time between consecutive CHECK_FOR_INTERRUPT calls grouped by the function that postgres spent the most time in between those points". If not that then something like "grouped by the first function call in the intervening period" is probably pretty straightforward. Of course this is complicated by CHECK_FOR_INTERRUPTS being a macro... perhaps a probe could be added in that macro. In fact I suspect many of the locations we'll need manually added probes will be macros. -- greg
В списке pgsql-hackers по дате отправления:
Сайт использует файлы cookie для корректной работы и повышения удобства. Нажимая кнопку «Принять» или продолжая пользоваться сайтом, вы соглашаетесь на их использование в соответствии с Политикой в отношении обработки cookie ООО «ППГ», в том числе на передачу данных из файлов cookie сторонним статистическим и рекламным службам. Вы можете управлять настройками cookie через параметры вашего браузера