Re: [PATCH] Allow increasing the buffer-head per-CPU LRU size

From: Andrew Morton
Date: Mon Jul 07 2014 - 18:29:43 EST


On Mon, 7 Jul 2014 18:30:03 +0200 Andi Kleen <andi@xxxxxxxxxxxxxx> wrote:

> > diff --git a/fs/Kconfig b/fs/Kconfig
> > index c229f82..c08844c 100644
> > --- a/fs/Kconfig
> > +++ b/fs/Kconfig
> > @@ -268,4 +268,13 @@ endif # NETWORK_FILESYSTEMS
> > source "fs/nls/Kconfig"
> > source "fs/dlm/Kconfig"
> >
> > +config BH_LRU_SIZE
> > + int
> > + range 8 64
> > + default "16"
>
> So who sets it then?
>
> You need it for ext4 and quota right? So this combination
> should set it at least. Something like (unested)
>
> It would be also good to audit or test other file systems if they need the
> same if that's possible.
>
> config BH_LARGE_LRU
> bool
> depends on (EXT4_FS && QUOTA)
>
> config BH_LRU_SIZE
> ....
> default "16" if BH_LARGE_LRU
> default "8" if !BH_LARGE_LRU

Can anyone demonstrate why we shouldn't just do

--- a/fs/buffer.c~a
+++ a/fs/buffer.c
@@ -1258,7 +1258,7 @@ static struct buffer_head *__bread_slow(
* a local interrupt disable for that.
*/

-#define BH_LRU_SIZE 8
+#define BH_LRU_SIZE 16

struct bh_lru {
struct buffer_head *bhs[BH_LRU_SIZE];
_

--
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/