RE: 2.6.10-mm3 scaling problem with inotify

From: Robert Love
Date: Thu Jan 13 2005 - 21:44:01 EST


On Fri, 2005-01-14 at 10:31 +0800, Zou, Nanhai wrote:

(your email wraps badly)

> There is still a little difference between your implement in
> inotify_dentry_parent_queue_event from dnotify_parent
>
> In dnotify_parent, if parent is not watching the event, the code will
> not fall
> through dget and dput path.
>
> While in inotify_dentry_parent_queue_event kernel will go dget and dput
> even
> if (inode->inotify_data == NULL).
>
> While dget and dput will introduce a lot of atomic operations..
> And the most important, dput will grab global dcache_lock...,
> I think that is the reason why John Hawkes saw great performance drop.
>
> Simply follow dnotify_parent, only call dget and dput when
> inode->inotify_data != NULL will solve this problem I think.

This is what I meant in the original email. This is the dnotify
difference I was talking about.

The patch I submitted should put the two in parity.

Robert Love


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