Files
linux/fs
Steven Whitehouse 2426443460 [GFS2] Rewrite of examine_bucket()
The existing implementation of this function in glock.c was not
very efficient as it relied upon keeping a cursor element upon the
hash chain in question and moving it along. This new version improves
upon this by using the current element as a cursor. This is possible
since we only look at the "next" element in the list after we've
taken the read_lock() subsequent to calling the examiner function.
Obviously we have to eventually drop the ref count that we are then
left with and we cannot do that while holding the read_lock, so we
do that next time we drop the lock. That means either just before
we examine another glock, or when the loop has terminated.

The new implementation has several advantages: it uses only a
read_lock() rather than a write_lock(), so it can run simnultaneously
with other code, it doesn't need a "plug" element, so that it removes
a test not only from this list iterator, but from all the other glock
list iterators too. So it makes things faster and smaller.

Signed-off-by: Steven Whitehouse <swhiteho@redhat.com>
2006-09-11 21:40:30 -04:00
..
2006-08-14 12:54:28 -07:00
2006-06-26 09:58:18 -07:00
2006-08-06 08:57:48 -07:00
2006-09-11 21:40:30 -04:00
2006-09-01 11:39:10 -07:00
2006-08-27 11:01:30 -07:00
2006-08-07 11:07:01 -07:00
2006-08-27 11:01:31 -07:00
2006-06-26 18:35:02 +02:00
2006-01-11 18:42:13 -08:00
2006-01-10 08:01:25 -08:00
2006-07-31 13:28:38 -07:00
2006-07-03 15:27:06 -07:00
2006-01-08 20:12:40 -08:00
2006-08-27 11:01:31 -07:00
2006-04-02 13:37:19 +02:00
2006-04-11 13:53:33 +02:00
2006-07-12 12:52:55 -07:00
2006-08-21 10:02:50 +02:00
2006-07-17 09:25:26 -04:00
2006-06-26 09:58:17 -07:00
2006-08-14 13:10:59 -07:00
2006-03-28 09:16:08 -08:00
2006-06-23 07:42:49 -07:00
2006-06-26 09:58:17 -07:00
2005-11-07 18:18:11 -08:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:11 -08:00
2006-03-23 07:38:12 -08:00
2006-06-23 07:42:49 -07:00