Messages in this thread | | | Subject | RE: 2.6.10-mm3 scaling problem with inotify | From | John McCutchan <> | Date | Thu, 13 Jan 2005 21:36:20 -0500 |
| |
On Fri, 2005-01-14 at 10:31 +0800, Zou, Nanhai wrote: > > 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. >
Yeah, the old code was written before inode->inotify_data existed. Robert caught this before he sent his patch. His patch should fix this regression.
-- John McCutchan <ttb@tentacle.dhs.org> - 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/
| |