mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: Robin Holt <holt@sgi.com>
Cc: holt@sgi.com, linux-kernel@vger.kernel.org, dev@sw.ru,
	wli@holomorphy.com, steiner@sgi.com, sandeen@sgi.com
Subject: Re: 21 million inodes is causing severe pauses.
Date: Tue, 16 Nov 2004 16:33:10 -0800	[thread overview]
Message-ID: <20041116163310.34580297.akpm@osdl.org> (raw)
In-Reply-To: <20041116194858.GA2549@lnx-holt.americas.sgi.com>

Robin Holt <holt@sgi.com> wrote:
>
> On Tue, Nov 16, 2004 at 11:13:21AM -0800, Andrew Morton wrote:
> > Robin Holt <holt@sgi.com> wrote:
> > >
> > > I guess I am very concerned at this point.  If I can do a
> > >  release/reacquire, why not just change generic_shutdown_super() so the
> > >  lock_kernel() does not happen until the first pass has occurred.  ie:
> > > 
> > >  --- super.c.orig        2004-11-16 10:22:17 -06:00
> > >  +++ super.c     2004-11-16 10:22:41 -06:00
> > >  @@ -232,10 +232,10 @@
> > >                  dput(root);
> > >                  fsync_super(sb);
> > >                  lock_super(sb);
> > >  -               lock_kernel();
> > >                  sb->s_flags &= ~MS_ACTIVE;
> > >                  /* bad name - it should be evict_inodes() */
> > >                  invalidate_inodes(sb);
> > >  +               lock_kernel();
> > > 
> > >                  if (sop->write_super && sb->s_dirt)
> > >                          sop->write_super(sb);
> > > 
> > >  This at least makes the lock_kernel time much smaller than it is right
> > >  now.  It also does not affect any callers that may really need the BKL.
> > 
> > lock_kernel() is also taken way up in do_umount(), hence the need for
> > release_kernel_lock()/reacquire_kernel_lock().
> 
> It looks like it is only held very briefly during the early parts of do_umount.
> 

OK.

> I have moved lock_kernel() as above in addition to the two patches you pointed
> to earlier.  This has left me with a system which has 21M inodes and undetectable
> delays during heavy mount/umount activity.  I am starting one last test which
> attempts a umount of a filesystem which has many inodes associated with it.

That sounds good.  We need to work out where that null-pointer deref is
coming from.

> At this point, I have checked the entire code path and see no reason the
> BKL is held for the first call to invalidate_inodes.

No, the above change looks fine.  And I have no problem merging up
invalidate_inodes-speedup.patch, really - it's been in -mm for over a year.
I've just been waiting for a decent reason to merge it.


  reply	other threads:[~2004-11-17  0:34 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-15 19:55 Robin Holt
2004-11-15 20:35 ` Norbert van Nobelen
2004-11-15 20:51   ` Robin Holt
2004-11-15 20:57   ` linux-os
2004-11-15 21:31     ` Robin Holt
2004-11-15 22:57 ` Andrew Morton
2004-11-16 16:28   ` Robin Holt
2004-11-16 19:13     ` Andrew Morton
2004-11-16 19:48       ` Robin Holt
2004-11-17  0:33         ` Andrew Morton [this message]
2004-11-17  0:54           ` Robin Holt
2004-11-17  1:05             ` Andrew Morton
2004-11-16 16:32   ` Robin Holt
2004-11-16 19:15     ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20041116163310.34580297.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=dev@sw.ru \
    --cc=holt@sgi.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sandeen@sgi.com \
    --cc=steiner@sgi.com \
    --cc=wli@holomorphy.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome