From: Johannes Weiner <hannes@cmpxchg.org>
To: Mel Gorman <mgorman@techsingularity.net>
Cc: Linux-MM <linux-mm@kvack.org>,
Linux-FSDevel <linux-fsdevel@vger.kernel.org>,
LKML <linux-kernel@vger.kernel.org>, Jan Kara <jack@suse.cz>,
Andi Kleen <ak@linux.intel.com>,
Dave Hansen <dave.hansen@intel.com>,
Dave Chinner <david@fromorbit.com>
Subject: Re: [PATCH 3/8] mm, truncate: Remove all exceptional entries from pagevec under one lock
Date: Thu, 12 Oct 2017 15:45:36 -0400 [thread overview]
Message-ID: <20171012194536.GC5075@cmpxchg.org> (raw)
In-Reply-To: <20171012093103.13412-4-mgorman@techsingularity.net>
On Thu, Oct 12, 2017 at 10:30:58AM +0100, Mel Gorman wrote:
> During truncate each entry in a pagevec is checked to see if it is an
> exceptional entry and if so, the shadow entry is cleaned up. This is
> potentially expensive as multiple entries for a mapping locks/unlocks the
> tree lock. This batches the operation such that any exceptional entries
> removed from a pagevec only acquire the mapping tree lock once. The corner
> case where this is more expensive is where there is only one exceptional
> entry but this is unlikely due to temporal locality and how it affects
> LRU ordering. Note that for truncations of small files created recently,
> this patch should show no gain because it only batches the handling of
> exceptional entries.
>
> sparsetruncate (large)
> 4.14.0-rc4 4.14.0-rc4
> pickhelper-v1r1 batchshadow-v1r1
> Min Time 38.00 ( 0.00%) 27.00 ( 28.95%)
> 1st-qrtle Time 40.00 ( 0.00%) 28.00 ( 30.00%)
> 2nd-qrtle Time 44.00 ( 0.00%) 41.00 ( 6.82%)
> 3rd-qrtle Time 146.00 ( 0.00%) 147.00 ( -0.68%)
> Max-90% Time 153.00 ( 0.00%) 153.00 ( 0.00%)
> Max-95% Time 155.00 ( 0.00%) 156.00 ( -0.65%)
> Max-99% Time 181.00 ( 0.00%) 171.00 ( 5.52%)
> Amean Time 93.04 ( 0.00%) 88.43 ( 4.96%)
> Best99%Amean Time 92.08 ( 0.00%) 86.13 ( 6.46%)
> Best95%Amean Time 89.19 ( 0.00%) 83.13 ( 6.80%)
> Best90%Amean Time 85.60 ( 0.00%) 79.15 ( 7.53%)
> Best75%Amean Time 72.95 ( 0.00%) 65.09 ( 10.78%)
> Best50%Amean Time 39.86 ( 0.00%) 28.20 ( 29.25%)
> Best25%Amean Time 39.44 ( 0.00%) 27.70 ( 29.77%)
>
> bonnie
> 4.14.0-rc4 4.14.0-rc4
> pickhelper-v1r1 batchshadow-v1r1
> Hmean SeqCreate ops 71.92 ( 0.00%) 76.78 ( 6.76%)
> Hmean SeqCreate read 42.42 ( 0.00%) 45.01 ( 6.10%)
> Hmean SeqCreate del 26519.88 ( 0.00%) 27191.87 ( 2.53%)
> Hmean RandCreate ops 71.92 ( 0.00%) 76.95 ( 7.00%)
> Hmean RandCreate read 44.44 ( 0.00%) 49.23 ( 10.78%)
> Hmean RandCreate del 24948.62 ( 0.00%) 24764.97 ( -0.74%)
>
> Truncation of a large number of files shows a substantial gain with 99% of files
> being trruncated 6.46% faster. bonnie shows a modest gain of 2.53%
>
> Signed-off-by: Mel Gorman <mgorman@techsingularity.net>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2017-10-12 19:45 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-10-12 9:30 [PATCH 0/8] Follow-up for speed up page cache truncation Mel Gorman
2017-10-12 9:30 ` [PATCH 1/8] mm, page_alloc: Enable/disable IRQs once when freeing a list of pages Mel Gorman
2017-10-12 9:30 ` [PATCH 2/8] mm, truncate: Do not check mapping for every page being truncated Mel Gorman
2017-10-12 12:15 ` Jan Kara
2017-10-12 12:41 ` Mel Gorman
2017-10-12 19:11 ` Johannes Weiner
2017-10-12 9:30 ` [PATCH 3/8] mm, truncate: Remove all exceptional entries from pagevec under one lock Mel Gorman
2017-10-12 13:33 ` Jan Kara
2017-10-12 14:53 ` Mel Gorman
2017-10-12 19:45 ` Johannes Weiner [this message]
2017-10-12 9:30 ` [PATCH 4/8] mm: Only drain per-cpu pagevecs once per pagevec usage Mel Gorman
2017-10-12 9:31 ` [PATCH 5/8] mm, pagevec: Remove cold parameter for pagevecs Mel Gorman
2017-10-12 9:31 ` [PATCH 6/8] mm: Remove cold parameter for release_pages Mel Gorman
2017-10-12 9:31 ` [PATCH 7/8] mm, Remove cold parameter from free_hot_cold_page* Mel Gorman
2017-10-12 9:31 ` [PATCH 8/8] mm: Remove __GFP_COLD Mel Gorman
2017-10-18 7:59 [PATCH 0/8] Follow-up for speed up page cache truncation v2 Mel Gorman
2017-10-18 7:59 ` [PATCH 3/8] mm, truncate: Remove all exceptional entries from pagevec under one lock Mel Gorman
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=20171012194536.GC5075@cmpxchg.org \
--to=hannes@cmpxchg.org \
--cc=ak@linux.intel.com \
--cc=dave.hansen@intel.com \
--cc=david@fromorbit.com \
--cc=jack@suse.cz \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
/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).