Re: Locking comment on shrink_caches()

From: David S. Miller (davem@redhat.com)
Date: Tue Sep 25 2001 - 16:55:47 EST


   From: Benjamin LaHaise <bcrl@redhat.com>
   Date: Tue, 25 Sep 2001 17:00:55 -0400
   
   Last time I looked, those patches made the already ugly vm locking
   even worse. I'd rather try to use some of the rcu techniques for
   page cache lookup, and per-page locking for page cache removal
   which will lead to *cleaner* code as well as a much more scalable
   kernel.
   
I'm willing to investigate using RCU. However, per hashchain locking
is a much proven technique (inside the networking in particular) which
is why that was the method employed. At the time the patch was
implemented, the RCU stuff was not fully formulated.

Please note that the problem is lock cachelines in dirty exclusive
state, not a "lock held for long time" issue.

   Keep in mind that just because a lock is on someone's hitlist doesn't
   mean that it is for the right reasons. Look at the io_request_lock
   that is held around the bounce buffer copies in the scsi midlayer.
   *shudder*

I agree. But to my understanding, and after having studied the
pagecache lock usage, it was minimally used and not used in any places
unnecessarily as per the io_request_lock example you are stating.

In fact, the pagecache_lock is mostly held for extremely short periods
of time.

Franks a lot,
David S. Miller
davem@redhat.com

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Sep 30 2001 - 21:00:36 EST