From: Tejun Heo <tj@kernel.org>
To: Leonard Crestez <lcrestez@ixiacom.com>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Christoph Lameter <cl@linux-foundation.org>,
Sorin Dumitru <sdumitru@ixiacom.com>
Subject: Re: [RFC v2] percpu: Add a separate function to merge free areas
Date: Thu, 4 Dec 2014 15:42:33 -0500 [thread overview]
Message-ID: <20141204204233.GD4080@htj.dyndns.org> (raw)
In-Reply-To: <5480BFAA.2020106@ixiacom.com>
On Thu, Dec 04, 2014 at 10:10:18PM +0200, Leonard Crestez wrote:
> Yes, we are actually experiencing issues with this. We create lots of virtual
> net_devices and routes, which means lots of percpu counters/pointers. In particular
> we are getting worse performance than in older kernels because the net_device refcnt
> is now a percpu counter. We could turn that back into a single integer but this
> would negate an upstream optimization.
>
> We are working on top of linux_3.10. We already pulled some allocation optimizations.
> At least for simple allocation patterns pcpu_alloc does not appear to be unreasonably
> slow.
Yeah, it got better for simpler patterns with Al's recent
optimizations. Is your use case suffering heavily from percpu
allocator overhead even with the recent optimizations?
> Having a "properly scalable" percpu allocator would be quite nice indeed.
Yeah, at the beginning, the expected (and existing at the time) use
cases were fairly static and limited and the dumb scanning allocator
worked fine. The usages grew a lot over the years, so, yeah, we
prolly want something more scalable. I haven't seriously thought
about the details yet tho. The space overhead is a lot higher than
usual memory allocators, so we do want something which can pack things
tighter. Given that there are a lot of smaller allocations anyway,
maybe just converting the current implementation to bitmap based one
is enough. If we set the min alignment at 4 bytes which should be
fine, the bitmap overhead is slightly over 3% of the chunk size which
should be fine. My hunch is that the current allocator is already
using more than that on average. Are you interested in pursuing it?
Thanks.
--
tejun
--
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>
prev parent reply other threads:[~2014-12-04 20:42 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-02 22:33 Leonard Crestez
2014-12-04 17:57 ` Tejun Heo
2014-12-04 20:10 ` Leonard Crestez
2014-12-04 20:28 ` Christoph Lameter
2014-12-04 20:45 ` Tejun Heo
2014-12-04 20:52 ` Al Viro
2014-12-04 21:15 ` Christoph Lameter
2014-12-04 21:19 ` Tejun Heo
2014-12-04 21:20 ` Christoph Lameter
2014-12-05 6:25 ` Konstantin Khlebnikov
2014-12-04 20:42 ` Tejun Heo [this message]
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=20141204204233.GD4080@htj.dyndns.org \
--to=tj@kernel.org \
--cc=cl@linux-foundation.org \
--cc=lcrestez@ixiacom.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=sdumitru@ixiacom.com \
/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