Re: [HACKERS] Atomics for heap_parallelscan_nextpage()
От | Heikki Linnakangas |
---|---|
Тема | Re: [HACKERS] Atomics for heap_parallelscan_nextpage() |
Дата | |
Msg-id | ec67764d-2e6a-5b3b-fdde-00443542ef79@iki.fi обсуждение исходный текст |
Ответ на | Re: [HACKERS] Atomics for heap_parallelscan_nextpage() (Heikki Linnakangas <hlinnaka@iki.fi>) |
Ответы |
Re: [HACKERS] Atomics for heap_parallelscan_nextpage()
|
Список | pgsql-hackers |
On 08/16/2017 04:20 PM, Heikki Linnakangas wrote: > On 05/06/2017 04:57 PM, David Rowley wrote: >> Andres mentioned in [2] that it might be worth exploring using >> atomics to do the same job. So I went ahead and did that, and came >> up with the attached, which is a slight variation on what he >> mentioned in the thread. >> >> To keep things a bit more simple, and streamline, I ended up >> pulling out the logic for setting the startblock into another >> function, which we only call once before the first call to >> heap_parallelscan_nextpage(). I also ended up changing phs_cblock >> and replacing it with a counter that always starts at zero. The >> actual block is calculated based on that + the startblock modulo >> nblocks. This makes things a good bit more simple for detecting >> when we've allocated all the blocks to the workers, and also works >> nicely when wrapping back to the start of a relation when we >> started somewhere in the middle due to piggybacking with a >> synchronous scan. > > Looks reasonable. I edited the comments and the variable names a bit, > to my liking, and committed. Thanks! A couple of 32-bit x86 buildfarm members don't seem to be happy with this. I'll investigate, but if anyone has a clue, I'm all ears... - Heikki
В списке pgsql-hackers по дате отправления: