[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120607170721.474bd8d8.akpm@linux-foundation.org>
Date: Thu, 7 Jun 2012 17:07:21 -0700
From: Andrew Morton <akpm@...ux-foundation.org>
To: Vlad Zolotarov <vlad@...lemp.com>
Cc: viro@...iv.linux.org.uk, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org, Shai@...lemp.com
Subject: Re: [PATCH RESEND] fs: Move bh_cachep to the __read_mostly section
On Mon, 28 May 2012 14:58:42 +0300
Vlad Zolotarov <vlad@...lemp.com> wrote:
> From: Shai Fultheim <shai@...lemp.com>
>
> bh_cachep is only written to once on initialization, so move it to the
> __read_mostly section.
>
> Signed-off-by: Shai Fultheim <shai@...lemp.com>
> Signed-off-by: Vlad Zolotarov <vlad@...lemp.com>
> ---
> fs/buffer.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/fs/buffer.c b/fs/buffer.c
> index ad5938c..838a9cf 100644
> --- a/fs/buffer.c
> +++ b/fs/buffer.c
> @@ -3152,7 +3152,7 @@ SYSCALL_DEFINE2(bdflush, int, func, long, data)
> /*
> * Buffer-head allocation
> */
> -static struct kmem_cache *bh_cachep;
> +static struct kmem_cache *bh_cachep __read_mostly;
>
hm, I thought I replied to this earlier, but I can't find that email.
Yes, bh_cachep is read-mostly. In fact it's write-once. But the same
is true of all kmem_cache*'s. I don't see any particular reason for
singling out bh_cachep.
Alas, I don't see a smart way of addressing this. It's either a
patchset which adds __read_mostly to all kmem_cache*'s, or a patchset
which converts all the definitions to use some nasty macro which
inserts the __read_mostly.
And I still have theoretical concerns with __read_mostly. As we
further sort the storage into read-mostly and write-often sections, the
density of writes in the write-mostly section increases. IOW, removing
the read-mostly padding *increase* cross-CPU traffic in the write-often
scction. IOW2, leaving the read-mostly stuff where it is provides
beneficial padding to the write-often fields. I don't think it has
been shown that there will be net gains.
--
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