On 11/07/14 20:22, Andres Freund wrote:
> On 2014-07-11 12:40:15 +1200, Mark Kirkwood wrote:
>> Postgres 9.4 beta
>> rwlock patch
>> pgbench scale = 2000
>>
> On that scale - that's bigger than shared_buffers IIRC - I'd not expect
> the patch to make much of a difference.
>
Right - we did test with it bigger (can't recall exactly how big), but
will retry again after setting the numa parameters below.
>> #
>> 8.82% postgres [kernel.kallsyms] [k]
>> _raw_spin_lock_irqsave
>> |
>> --- _raw_spin_lock_irqsave
>> |
>> |--75.69%-- pagevec_lru_move_fn
>> | __lru_cache_add
>> | lru_cache_add
>> | putback_lru_page
>> | migrate_pages
>> | migrate_misplaced_page
>> | do_numa_page
>> | handle_mm_fault
>> | __do_page_fault
>> | do_page_fault
>> | page_fault
>
> So, the majority of the time is spent in numa page migration. Can you
> disable numa_balancing? I'm not sure if your kernel version does that at
> runtime or whether you need to reboot.
> The kernel.numa_balancing sysctl might work. Otherwise you probably need
> to boot with numa_balancing=0.
>
> It'd also be worthwhile to test this with numactl --interleave.
>
That was my feeling too - but I had no idea what the magic switch was to
tame it (appears to be in 3.13 kernels), will experiment and report
back. Thanks again!
Mark