[Top] [All Lists]

Re: [PATCH 0/7] better dquot caching

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH 0/7] better dquot caching
From: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Date: Sat, 11 Feb 2012 21:13:15 +0100
Cc: xfs@xxxxxxxxxxx
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=maven.pl; s=maven; h=from:to:subject:date:user-agent:cc:references:in-reply-to :mime-version:content-type:content-transfer-encoding:message-id; bh=4YWYe1neC1Ytv3e+skIyeoqUUXyuUsIKP4BqBaOYphg=; b=BOLuqY3Ou2Kyu5J+J74tNv06eBDMG9HSoiqGgltxOGOyzXmAtTztlgOAJnbcSuoXSq 2xKcevA7BkNlQvfp55op9AeqvfjG6m7W+mwIIPQqqhW0DrAyoausMWwa1YAJGYdX7Wd8 KOBu0mSeSmFj1FsG7N4S8h/0eYO4ct4786tNA=
In-reply-to: <20120201135719.202171828@xxxxxxxxxxxxxxxxxxxxxx>
References: <20120201135719.202171828@xxxxxxxxxxxxxxxxxxxxxx>
User-agent: KMail/1.13.7 (Linux/3.3.0-rc3-00171-g8df54d6-dirty; KDE/4.8.0; x86_64; ; )
On Wednesday 01 of February 2012, Christoph Hellwig wrote:
> This series improves handling of large number of dquots.  It replaced
> the direct recycling of dquots from the freelist with a shrinker, removes
> the upper bound of dquots, and uses per-filesystem structures for all
> quota state, including switching from a hash to a radix-tree for lookups.
> For repeated lookups of dquots out of a large pool I see improvements
> betwen 50% and 500% compared to the previous code.  All these tests
> have been performed with Q_XQUOTASYNC already disabled as it would
> change the result to much for both the old and new code.

Thanks for this improvement!

On 3.0.17 my script that executes ~130k of Q_XQUOTAGET lookups does it's job 
in 1m35s-1m45s and most of that is sys time.

3.3.0git + quota patchsets does the same thing in 23s and when cache gets hot 
it goes down to 9s-10s but sys time is only ~1s.

Note that I'm using xfs_quota patched to avoid doing XQUOTASYNC, so that time 
is mostly XQUOTAGET also on 3.0.17 kernel.

Of course the best test would be to test 3.3 without and with quota patchsets 
but I don't think there were any other improvements between 3.0 and 3.3 that 
could get such speed improvement for tons of XQUOTAGET calls.

ps. my 3.3.0git kernel had this patchset and "[PATCH 0/3] include reservations 
in quota reportin" included

real    1m34.970s
user    0m4.026s
sys     1m25.081s

real    1m45.365s
user    0m4.106s
sys     1m35.380s

real    1m45.835s
user    0m3.936s
sys     1m35.854s

real    1m45.608s
user    0m4.023s
sys     1m34.181s

real    1m36.207s
user    0m3.986s
sys     1m26.068s

real    1m45.969s
user    0m4.016s
sys     1m35.827s

real    1m35.608s
user    0m3.836s
sys     1m25.534s

real    1m45.882s
user    0m3.986s
sys     1m35.700s

real    1m45.913s
user    0m3.876s
sys     1m36.064s

real    1m45.702s
user    0m4.010s
sys     1m35.937s

3.3git + quota patchsets
real    0m23.811s
user    0m3.760s
sys     0m1.373s

real    0m9.712s
user    0m3.740s
sys     0m1.047s

real    0m9.276s
user    0m3.713s
sys     0m1.113s

real    0m9.880s
user    0m3.870s
sys     0m0.937s

real    0m11.841s
user    0m3.740s
sys     0m1.077s

real    0m10.086s
user    0m3.760s
sys     0m1.057s

real    0m10.170s
user    0m3.790s
sys     0m1.063s

real    0m9.457s
user    0m3.686s
sys     0m1.100s

real    0m10.150s
user    0m3.756s
sys     0m1.073s

real    0m9.331s
user    0m3.810s
sys     0m1.007s
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/

<Prev in Thread] Current Thread [Next in Thread>