From: Li Xi <pkuelelixi@gmail.com>
To: "Theodore Ts'o" <tytso@mit.edu>
Cc: "linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
Ext4 Developers List <linux-ext4@vger.kernel.org>,
"viro@zeniv.linux.org.uk" <viro@zeniv.linux.org.uk>,
"hch@infradead.org" <hch@infradead.org>, Jan Kara <jack@suse.cz>
Subject: Re: [PATCH v2 0/4] quota: add project quota support
Date: Mon, 11 Aug 2014 22:49:58 +0800 [thread overview]
Message-ID: <CAPTn0cAeN6-JJ4LZp_fpb_+nrx7A80CBeCA15dR6Fjnxf8bWCg@mail.gmail.com> (raw)
In-Reply-To: <20140811144535.GD3506@thunk.org>
On Mon, Aug 11, 2014 at 10:41 PM, Theodore Ts'o <tytso@mit.edu> wrote:
> On Sat, Aug 09, 2014 at 12:39:58AM +0800, Li Xi wrote:
>> It is obvious that extended attribute implementation has performance
>> impact when creating files. That is why we choose to push the patches
>> which use internal inode field to save project ID.
>
> Looking at your numbers more closely, I bit you are parsing the
> extended attributes each time you need to adjust the project quota for
> the file, correct? I suspect that if you cache the project ID in the
> in-memory struct ext4_inode_info, the performance difference between
> using an extended attribute versus an internal inode field will be
> negligible. The only difference would be a tiny amount of CPU time
> when you first create the inode, and when you read the inode from the
> inode table block on disk, since the project ID will under normal
> circumstances never or hardly ever change.
Yeah, I cached project ID in memory, not only for this internal inode field
implementation but also for xattr based implementation. Yeah, that is
right that reading project ID doesn't impact performance. However, as
the results shows, creating xattr costs extra time. That is why creating files
on xattr based implemetation is significantly slower than internal inode filed
implementation. Other operations won't be effected at all. We confirmed
this in varible way. If we remove xattr saving when creating files, the
performance will go up immediately. And also, we confirmed that ACL
has similar performance problem.
Regards,
Li Xi
next prev parent reply other threads:[~2014-08-11 14:49 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-11 14:40 [PATCH v2 0/4] quota: add project quota support Li Xi
2014-08-11 14:45 ` Theodore Ts'o
2014-08-11 14:49 ` Li Xi [this message]
-- strict thread matches above, loose matches on Subject: below --
2014-08-14 1:34 Li Xi
2014-08-13 2:32 Li Xi
2014-08-13 13:22 ` Theodore Ts'o
2014-08-11 15:03 Li Xi
2014-08-11 14:16 Li Xi
2014-08-11 10:23 Li Xi
2014-08-11 13:48 ` Theodore Ts'o
2014-08-11 0:19 Li Xi
2014-08-11 0:06 Li Xi
2014-08-10 0:38 Li Xi
2014-08-08 16:58 Li Xi
2014-08-08 16:39 Li Xi
2014-08-08 22:33 ` Theodore Ts'o
2014-08-09 14:24 ` Li Xi
2014-08-09 17:24 ` Theodore Ts'o
2014-08-09 22:17 ` Theodore Ts'o
2014-08-09 23:38 ` Dave Chinner
2014-08-10 0:09 ` Theodore Ts'o
2014-08-10 22:18 ` Dave Chinner
2014-08-10 2:15 ` Li Xi
2014-08-11 10:49 ` Jan Kara
2014-08-10 8:38 ` Shuichi Ihara
2014-08-10 16:52 ` Theodore Ts'o
2014-08-10 20:47 ` James Bottomley
2014-08-10 21:49 ` Theodore Ts'o
2014-08-09 22:14 ` Dave Chinner
2014-08-11 14:41 ` Theodore Ts'o
2014-08-12 15:35 ` Dmitry Monakhov
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=CAPTn0cAeN6-JJ4LZp_fpb_+nrx7A80CBeCA15dR6Fjnxf8bWCg@mail.gmail.com \
--to=pkuelelixi@gmail.com \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.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).