From: Ingo Molnar <mingo@elte.hu>
To: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: LKML <linux-kernel@vger.kernel.org>,
x86@kernel.org, Andi Kleen <andi@firstfloor.org>,
Nick Piggin <nickpiggin@yahoo.com.au>,
Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [PATCH 0 of 9] x86/smp function calls: convert x86 tlb flushes to use function calls [POST 2]
Date: Tue, 19 Aug 2008 02:45:31 +0200 [thread overview]
Message-ID: <20080819004531.GI9914@elte.hu> (raw)
In-Reply-To: <patchbomb.1219083817@localhost>
* Jeremy Fitzhardinge <jeremy@goop.org> wrote:
> This series:
> - adds a simple debugfs profiling entry for cross-cpu tlb flushes
> - converts them to using smp_call_function_mask
> - unifies 32 and 64-bit tlb flushes
> - converts smp_call_function to using multiple queues (using the now
> freed vectors)
> - allows config-time adjustment of the number of queues
> - adds a kernel parameter to disable multi-queue in case it causes
> problems
>
> The main concern is whether using smp_call_function adds an
> unacceptible performance hit to cross-cpu tlb flushes. My limited
> measurements show a ~35% regression in latency for a particular flush;
> it would be interesting to try this on a wider range of hardware. I
> gather the effect tlb flush performance is very application specific
> as well, but I'm not sure what benchmarks show what effects.
>
> Trading off agains the latency of a given flush, the smp_function_call
> mechanism allows multiple requests to be queued, and so may improve
> throughput on a system-wide basis.
>
> So, I'd like people to try this out and see what performance effects
> it has.
nice stuff!
I suspect the extra cost might be worth it for two reasons: 1) we could
optimize the cross-call implementation further 2) on systems where TLB
flushes actually matter, the ability to overlap multiple TLB flushes to
the same single CPU might improve workloads.
FYI, i've created a new -tip topic for your patches, tip/x86/tlbflush.
It's based on tip/irq/sparseirq (there are a good deal of dependencies
with that topic).
It would be nice to see some numbers on sufficiently SMP systems, using
some mmap/munmap intense workload.
Ingo
next prev parent reply other threads:[~2008-08-19 0:46 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-18 18:23 [PATCH 0 of 9] x86/smp function calls: convert x86 tlb flushes to use function calls [POST 2] Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 1 of 9] x86: put tlb_flush_others() stats in debugfs Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 2 of 9] x86-32: use smp_call_function_mask for SMP TLB invalidations Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 3 of 9] x86-64: " Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 4 of 9] x86: make tlb_32|64 closer Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 5 of 9] x86: unify tlb.c Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 6 of 9] smp_function_call: add multiple queues for scalability Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 7 of 9] x86: add multiple smp_call_function queues Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 8 of 9] x86: make number of smp_call_function queues truely configurable Jeremy Fitzhardinge
2008-08-18 18:23 ` [PATCH 9 of 9] smp function calls: add kernel parameter to disable multiple queues Jeremy Fitzhardinge
2008-08-19 0:45 ` Ingo Molnar [this message]
2008-08-19 1:28 ` [PATCH 0 of 9] x86/smp function calls: convert x86 tlb flushes to use function calls [POST 2] Ingo Molnar
2008-08-19 6:18 ` Jeremy Fitzhardinge
2008-08-19 9:27 ` Ingo Molnar
2008-08-19 14:58 ` Jeremy Fitzhardinge
2008-08-19 9:45 ` Peter Zijlstra
2008-08-19 14:58 ` Jeremy Fitzhardinge
2008-08-19 5:37 ` Jeremy Fitzhardinge
2008-08-19 9:31 ` Ingo Molnar
2008-08-19 9:56 ` Nick Piggin
2008-08-19 10:20 ` Ingo Molnar
2008-08-19 11:08 ` Nick Piggin
2008-08-19 11:44 ` Ingo Molnar
2008-08-19 10:24 ` Ingo Molnar
2008-08-19 10:49 ` Nick Piggin
2008-08-19 10:31 ` Andi Kleen
2008-08-19 11:04 ` Nick Piggin
2008-08-19 11:20 ` Andi Kleen
2008-08-19 7:32 ` Andi Kleen
2008-08-19 7:44 ` Jeremy Fitzhardinge
2008-08-19 7:48 ` Andi Kleen
2008-08-19 8:04 ` Jeremy Fitzhardinge
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=20080819004531.GI9914@elte.hu \
--to=mingo@elte.hu \
--cc=andi@firstfloor.org \
--cc=jens.axboe@oracle.com \
--cc=jeremy@goop.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nickpiggin@yahoo.com.au \
--cc=x86@kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.