Messages in this thread | | | Date | Mon, 30 Jan 2006 16:25:15 +0100 | From | Jan Blunck <> | Subject | Re: [PATCH] shrink_dcache_parent() races against shrink_dcache_memory() |
| |
On Mon, Jan 30, Kirill Korotaev wrote:
> >>We can think about optimizing this to > >> if (!sb->sprunes) > >> wake_up(&sb->s_wait_prunes); > >> > > > > > >Hardly. This is only the case when two or more shrinkers are active in > >parallel. If that was the case often, we would have seen this much more > >frequent IMHO. > But this avoids taking 2nd lock on fast path. >
No, the fast path (more frequent) is s_prunes == 0.
sb->s_prunes--; if (likely(!sb->s_prunes)) wake_up(&sb->s_wait_prunes);
This is only optimizing a rare case ... and unmounting isn't very time critical.
Regards, Jan
-- Jan Blunck jblunck@suse.de SuSE LINUX AG - A Novell company Maxfeldstr. 5 +49-911-74053-608 D-90409 Nürnberg http://www.suse.de - 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/
| |