From: Thavatchai Makphaibulchoke <thavatchai.makpahibulchoke@hp.com>
To: Andreas Dilger <adilger@dilger.ca>
Cc: Theodore Ts'o <tytso@mit.edu>, T Makphaibulchoke <tmac@hp.com>,
Al Viro <viro@zeniv.linux.org.uk>,
"linux-ext4@vger.kernel.org List" <linux-ext4@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
"linux-fsdevel@vger.kernel.org Devel"
<linux-fsdevel@vger.kernel.org>,
aswin@hp.com, Linus Torvalds <torvalds@linux-foundation.org>,
aswin_proj@lists.hp.com
Subject: Re: [PATCH v3 0/2] ext4: increase mbcache scalability
Date: Fri, 06 Sep 2013 12:23:21 +0000 [thread overview]
Message-ID: <5229C939.8030108@hp.com> (raw)
In-Reply-To: <0787C579-7E2C-4864-B8F4-98816E1E50A2@dilger.ca>
On 09/06/2013 05:10 AM, Andreas Dilger wrote:
> On 2013-09-05, at 3:49 AM, Thavatchai Makphaibulchoke wrote:
>> No, I did not do anything special, including changing an inode's size. I just used the profile data, which indicated mb_cache module as one of the bottleneck. Please see below for perf data from one of th new_fserver run, which also shows some mb_cache activities.
>>
>>
>> |--3.51%-- __mb_cache_entry_find
>> | mb_cache_entry_find_first
>> | ext4_xattr_cache_find
>> | ext4_xattr_block_set
>> | ext4_xattr_set_handle
>> | ext4_initxattrs
>> | security_inode_init_security
>> | ext4_init_security
>
> Looks like this is some large security xattr, or enough smaller
> xattrs to exceed the ~120 bytes of in-inode xattr storage. How
> big is the SELinux xattr (assuming that is what it is)?
>
Sorry I'm familiar with SELinux enough to say how big its xattr is. Anyway, I'm positive that SELinux is what is generating these xattrs. With SELinux disabled, there seems to be no call ext4_xattr_cache_find().
>> Looks like it's a bit harder to disable mbcache than I thought.
>> I ended up adding code to collect the statics.
>>
>> With selinux enabled, for new_fserver workload of aim7, there
>> are a total of 0x7e05420100000000 ext4_xattr_cache_find() calls
>> that result in a hit and 0xc100000000000000 calls that are not.
>> The number does not seem to favor the complete disabling of
>> mbcache in this case.
>
> This is about a 65% hit rate, which seems reasonable.
>
> You could try a few different things here:
> - disable selinux completely (boot with "selinux=0" on the kernel
> command line) and see how much faster it is
> - format your ext4 filesystem with larger inodes (-I 512) and see
> if this is an improvement or not. That depends on the size of
> the selinux xattrs and if they will fit into the extra 256 bytes
> of xattr space these larger inodes will give you. The performance
> might also be worse, since there will be more data to read/write
> for each inode, but it would avoid seeking to the xattr blocks.
>
Thanks for the above suggestions. Could you please clarify if we are attempting to look for a workaround here? Since we agree the way mb_cache uses one global spinlock is incorrect and SELinux exposes the problem (which is not uncommon with Enterprise installations), I believe we should look at fixing it (patch 1/2). As you also mentioned, this will also impact both ext2 and ext3 filesystems.
Anyway, please let me know if you still think any of the above experiments is relevant.
Thanks,
Mak.
> Cheers, Andreas
>
>
>
>
>
next prev parent reply other threads:[~2013-09-06 12:23 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-18 0:55 [PATCH 0/2] ext4: increase mbcache scalability T Makphaibulchoke
2013-08-22 15:54 ` [PATCH v2 " T Makphaibulchoke
2013-08-22 15:54 ` [PATCH v2 1/2] mbcache: decoupling the locking of local from global data T Makphaibulchoke
2013-08-22 16:53 ` Linus Torvalds
2013-08-22 15:33 ` Thavatchai Makphaibulchoke
2013-08-22 15:54 ` [PATCH v2 2/2] ext4: each filesystem creates and uses its own mc_cache T Makphaibulchoke
2014-01-24 18:31 ` [PATCH v4 0/3] ext4: increase mbcache scalability T Makphaibulchoke
2014-01-24 18:31 ` [PATCH v4 1/3] fs/mbcache.c change block and index hash chain to hlist_bl_node T Makphaibulchoke
2014-01-24 18:31 ` [PATCH v4 2/3] mbcache: decoupling the locking of local from global data T Makphaibulchoke
2014-01-24 18:31 ` [PATCH v4 3/3] ext4: each filesystem creates and uses its own mc_cache T Makphaibulchoke
2014-01-24 21:38 ` [PATCH v4 0/3] ext4: increase mbcache scalability Andi Kleen
2014-01-25 1:13 ` Thavatchai Makphaibulchoke
2014-01-25 6:09 ` Andreas Dilger
2014-01-27 12:27 ` Thavatchai Makphaibulchoke
2014-02-09 19:46 ` Thavatchai Makphaibulchoke
2014-02-11 19:58 ` Thavatchai Makphaibulchoke
2014-02-13 2:01 ` Andreas Dilger
2013-09-04 16:39 ` [PATCH v3 0/2] " T Makphaibulchoke
2013-09-04 16:39 ` [PATCH v3 1/2] mbcache: decoupling the locking of local from global data T Makphaibulchoke
2013-10-30 13:27 ` Theodore Ts'o
2013-10-30 14:42 ` Theodore Ts'o
2013-10-30 17:32 ` Thavatchai Makphaibulchoke
2013-09-04 16:39 ` [PATCH v3 2/2] ext4: each filesystem creates and uses its own mb_cache T Makphaibulchoke
2013-10-30 14:30 ` Theodore Ts'o
2013-09-04 20:00 ` [PATCH v3 0/2] ext4: increase mbcache scalability Andreas Dilger
2013-09-04 15:33 ` Thavatchai Makphaibulchoke
2013-09-05 15:22 ` Thavatchai Makphaibulchoke
2013-09-05 2:35 ` Theodore Ts'o
2013-09-05 9:49 ` Thavatchai Makphaibulchoke
2013-09-06 5:10 ` Andreas Dilger
2013-09-06 12:23 ` Thavatchai Makphaibulchoke [this message]
2013-09-10 20:47 ` Andreas Dilger
2013-09-10 21:02 ` Theodore Ts'o
2013-09-10 17:10 ` Thavatchai Makphaibulchoke
2013-09-11 3:13 ` Eric Sandeen
2013-09-11 11:30 ` Theodore Ts'o
2013-09-11 16:49 ` Eric Sandeen
2013-09-11 19:33 ` Eric Sandeen
2013-09-11 20:32 ` David Lang
2013-09-11 20:48 ` Eric Sandeen
2013-09-11 21:25 ` Theodore Ts'o
2013-09-11 20:36 ` Thavatchai Makphaibulchoke
2013-09-12 3:42 ` Eric Sandeen
2014-02-20 18:37 ` [PATCH V5 0/3] " T Makphaibulchoke
2014-02-20 18:37 ` [PATCH V5 1/3] fs/mbcache.c change block and index hash chain to hlist_bl_node T Makphaibulchoke
2014-02-20 18:37 ` [PATCH V5 2/3] mbcache: decoupling the locking of local from global data T Makphaibulchoke
2014-02-20 18:37 ` [PATCH V5 3/3] ext4: each filesystem creates and uses its own mb_cache T Makphaibulchoke
2014-03-12 16:19 ` [PATCH v5 RESEND 0/3] ext4: increase mbcache scalability T Makphaibulchoke
2014-03-12 16:19 ` [PATCH v5 RESEND 1/3] fs/mbcache.c change block and index hash chain to hlist_bl_node T Makphaibulchoke
2014-03-12 16:19 ` [PATCH v5 RESEND 2/3] mbcache: decoupling the locking of local from global data T Makphaibulchoke
2014-03-12 16:19 ` [PATCH v5 RESEND 3/3] ext4: each filesystem creates and uses its own mb_cache T Makphaibulchoke
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=5229C939.8030108@hp.com \
--to=thavatchai.makpahibulchoke@hp.com \
--cc=adilger@dilger.ca \
--cc=aswin@hp.com \
--cc=aswin_proj@lists.hp.com \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tmac@hp.com \
--cc=torvalds@linux-foundation.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
/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;
as well as URLs for NNTP newsgroup(s).