On Fri, May 22, 2020 at 10:00 AM David Rowley <dgrowle...@gmail.com> wrote: > On Thu, 21 May 2020 at 17:06, David Rowley <dgrowle...@gmail.com> wrote: > > For the patch. I know you just put it together quickly, but I don't > > think you can do that ramp up the way you have. It looks like there's > > a risk of torn reads and torn writes and I'm unsure how much that > > could affect the test results here. > > Oops. On closer inspection, I see that memory is per worker, not > global to the scan.
Right, I think it's safe. I think you were probably right that ramp-up isn't actually useful though, it's only the end of the scan that requires special treatment so we don't get unfair allocation as the work runs out, due to course grain. I suppose that even if you have a scheme that falls back to fine grained allocation for the final N pages, it's still possible that a highly distracted process (most likely the leader given its double duties) can finish up sitting on a large range of pages and eventually have to process them all at the end after the other workers have already knocked off and gone for a pint.