> On Wed, Mar 24, 2010 at 03:16:14AM +0100, Andi Kleen wrote:
> >
holt@sgi.com writes:
> >
> > > Tracking memtype on x86 uses a single global spin_lock for either reading
> > > or changing the memory type. This includes changes made to page flags
> > > which is perfectly parallel.
> > >
> > > Part one of the patchset makes the page-based tracking use cmpxchg
> > > without a need for a lock.
> > >
> > > Part two of the patchset converts the spin_lock into a read/write lock.
> >
> > I'm curious: in what workloads did you see contention?
> >
> > For any scalability patches it would be always good to have a description
> > of the workload.
>
> It was a job using xpmem (an out of tree kernel module) which uses
> vm_insert_pfn to establish ptes. The scalability issues were shown
> in the first patch. I do not have any test which shows a performance
> difference with the spin_lock to rw_lock conversion.