lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 4 Aug 2006 08:18:06 -0700
From:	Andrew Morton <akpm@...l.org>
To:	Arjan van de Ven <arjan@...radead.org>
Cc:	hch@...radead.org, gregkh@...e.de, linux-kernel@...r.kernel.org,
	stable@...nel.org, torvalds@...l.org, jmforbes@...uxtx.org,
	zwane@....linux.org.uk, tytso@....edu, rdunlap@...otime.net,
	davej@...hat.com, chuckw@...ntumlinux.com, reviews@...cw.f00f.org,
	alan@...rguk.ukuu.org.uk, jes@...ined-monkey.org, jes@....com
Subject: Re: [patch 12/23] invalidate_bdev() speedup

On Fri, 04 Aug 2006 15:08:49 +0200
Arjan van de Ven <arjan@...radead.org> wrote:

> On Fri, 2006-08-04 at 02:04 -0700, Andrew Morton wrote:
> > On Fri, 4 Aug 2006 09:50:13 +0100
> > Christoph Hellwig <hch@...radead.org> wrote:
> > 
> > > On Thu, Aug 03, 2006 at 10:39:42PM -0700, Greg KH wrote:
> > > > -stable review patch.  If anyone has any objections, please let us know.
> > > 
> > > This is a feature.  Definitly not -stable material.
> > 
> > Apparently that regular IPI storm is causing the SGI machines some
> > significant problems. 
> 
> a tiny performance drop :) If that meets the stable policy.. open
> question :)

The interrupt holdoff problem is one which is important to Altix users (for
reasons which I've never understood).  Apparently, quite important - this
is I think the third time we've fixed problems in this area for Altix.

> > It's not the biggest problem we've ever had, but if this patch is wrong,
> > the pagecache/buffer_head layer is utterly busted.  And it isn't.
> 
> 
> are you sure?
> 
> +       struct address_space *mapping = bdev->bd_inode->i_mapping;
> +
> +       if (mapping->nrpages == 0)
> +               return;
> +
>         invalidate_bh_lrus();
> 
> what happens if a bdev used to have pagecache and at some point stops
> having that due to page reclaim... will that page reclaim call
> invalidate_bh_lrus() ? If not, who will ? If the answer is "nobody", is
> that really the right answer?

invalidate_bdev() calls invalidate_bh_lrus() to release any references
which the bh lru has against the the bdev's pagecache, so that
invalidate_inode_pages() can take down the bdev's pagecache.

If the bdev has no pagecache then there's no need to call
invalidate_bh_lrus(). (or invalidate_inode_pages, or truncate_inode_pages, btw)

(In fact, even if the inode _does_ have pagecache, we still don't need to
call invalidate_bh_lrus(): both invalidate_inodes_pages() and
truncate_inode_pages() will still remove this page from the inode.  The bh
lru is left holding the last reference to the now-anonymous page, and this
will later expire, finally freeing the page).


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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ