Re: [HACKERS] Atomics for heap_parallelscan_nextpage()
От | Heikki Linnakangas |
---|---|
Тема | Re: [HACKERS] Atomics for heap_parallelscan_nextpage() |
Дата | |
Msg-id | 8fa3bf48-297f-d1b1-b3be-cea1e1e26460@iki.fi обсуждение исходный текст |
Ответ на | [HACKERS] Atomics for heap_parallelscan_nextpage() (David Rowley <david.rowley@2ndquadrant.com>) |
Ответы |
Re: [HACKERS] Atomics for heap_parallelscan_nextpage()
Re: [HACKERS] Atomics for heap_parallelscan_nextpage() Re: [HACKERS] Atomics for heap_parallelscan_nextpage() |
Список | pgsql-hackers |
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! - Heikki
В списке pgsql-hackers по дате отправления: