Re: [rfc] lockless pagecache

Sonny Rao
2005-07-05T15:11:19Z

On Mon, Jun 27, 2005 at 12:42:44PM -0700, Chen, Kenneth W wrote:
> Christoph Lameter wrote on Monday, June 27, 2005 12:23 PM
> > On Mon, 27 Jun 2005, Chen, Kenneth W wrote:
> > > I don't recall seeing tree_lock to be a problem for DSS workload either.
> >
> > I have seen the tree_lock being a problem a number of times with large
> > scale NUMA type workloads.
>
> I totally agree! My earlier posts are strictly referring to industry
> standard db workloads (OLTP, DSS). I'm not saying it's not a problem
> for everyone :-) Obviously you just outlined a few ....

I'm a bit late to the party here (was gone on vacation), but I do have
profiles from DSS workloads using page-cache rather than O_DIRECT and
I do see spin_lock_irq() in the profiles which I'm pretty certain are
locks spinning for access to the radix_tree. I'll talk about it a bit
more up in Ottawa but here's the top 5 on my profile (sorry don't have
the number of ticks at the momement):

1. dedicated_idle (waiting for I/O)
2. __copy_tofrom_user
3. radix_tree_delete
4. _spin_lock_irq
5. __find_get_block

So, yes, if the page-cache is used in a DSS workload then one will see
the tree-lock. BTW, this was on a PPC64 machine w/ a fairly small
NUMA factor.

Sonny