From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-yw1-f66.google.com ([209.85.161.66]:33096 "EHLO mail-yw1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727077AbeJDRX2 (ORCPT ); Thu, 4 Oct 2018 13:23:28 -0400 Received: by mail-yw1-f66.google.com with SMTP id m127-v6so3557346ywb.0 for ; Thu, 04 Oct 2018 03:30:49 -0700 (PDT) MIME-Version: 1.0 References: <20181003212539.2384-1-amir73il@gmail.com> <20181003212539.2384-9-amir73il@gmail.com> <20181004090916.GC11529@quack2.suse.cz> In-Reply-To: <20181004090916.GC11529@quack2.suse.cz> From: Amir Goldstein Date: Thu, 4 Oct 2018 13:30:38 +0300 Message-ID: Subject: Re: [PATCH v3 8/8] fsnotify: optimize away srcu_read_lock() for events on directories To: Jan Kara Cc: linux-fsdevel Content-Type: text/plain; charset="UTF-8" Sender: linux-fsdevel-owner@vger.kernel.org List-ID: On Thu, Oct 4, 2018 at 12:09 PM Jan Kara wrote: > > On Thu 04-10-18 00:25:39, Amir Goldstein wrote: > > inotify and dnotify are always interested in events on directories. > > fanotify is interested in events on directories only if user requested > > them by flag FAN_ONDIR. > > > > For the fanotify supported events on directories (open/access/close), > > if there is no inotify/dnotify associated marks and if none of the > > associated fanotify marks have the FS_ISDIR flag, we can skip iterating > > the marks and we avoid taking the srcu_read_lock() for all events on > > directories. > > > > In order to enable this check in fsnotify() we set the FS_ISDIR flag > > explicitly on all dnotify/inotify marks. > > > > Signed-off-by: Amir Goldstein > > --- > > fs/notify/dnotify/dnotify.c | 5 +++-- > > fs/notify/fsnotify.c | 9 ++++++++- > > fs/notify/inotify/inotify_user.c | 4 ++-- > > 3 files changed, 13 insertions(+), 5 deletions(-) > > Looks good, except I think you forgot to convert kernel/audit_watch.c and > kernel/audit_fsnotify.c which also need to set FS_ISDIR... > Oops. Right. So would you rather I come back with a fixed version after I ran some performance tests? Or will you fix and test it yourself? Thanks, Amir.