From: "Indan Zupancic" <indan@nul.nu>
To: "Linus Torvalds" <torvalds@linux-foundation.org>
Cc: "Michael Neuling" <mikey@neuling.org>,
"Thomas Gleixner" <tglx@linutronix.de>,
"Ingo Molnar" <mingo@redhat.com>,
"H. Peter Anvin" <hpa@zytor.com>,
x86@kernel.org,
"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
benh@kernel.crashing.org, anton@samba.org
Subject: Re: [PATCH 0/2] More i387 state save/restore work
Date: Mon, 20 Feb 2012 03:09:28 +0100 [thread overview]
Message-ID: <eab6890e2976525235b93e171607d17d.squirrel@webmail.greenhost.nl> (raw)
In-Reply-To: <CA+55aFwHGUB7R6kpNPc7vDYF8dhYCKm4Riso-rpS2Fiqjg8hQg@mail.gmail.com>
On Mon, February 20, 2012 02:03, Linus Torvalds wrote:
> On Sun, Feb 19, 2012 at 4:53 PM, Michael Neuling <mikey@neuling.org> wrote:
>>
>> Does "2476844 loops in 2 seconds" imply 2476844 context switches in 2
>> sec? With Anton's context_switch [1] benchmark, we don't even hit 100K
>> context switches per sec.
No, it implies 2476844 context switches per second, because it only counts
the loops in one process, and it takes two context switches to switch away
and back again.
My numbers for context_switch.c are 418K for no VDSO/FPU and 413K with FPU.
Linus' test program gets:
1050525 loops in 2 seconds with FPU
1150258 loops in 2 seconds with use_math() commented.
So it seems that the overhead of doing the pipe thing is quite high compared
to sched_yield().
These numbers are for an old Pentium M pinned at 1.4GHz, so getting only
100K seems very bad.
>>
>> Do you have this test program anywhere?
>
> Here. No guarantees that this is at all sane, it's special-cased code
> literally for testing only this one issue. The only indication I have
> that this works at all is that the numbers did change roughly as
> expected, and the kernel profile changes made sense.
I tested both programs, and your loops per second is half the context
switches according to vmstat, so it works as expected. I haven't tested
your FPU patches though.
Greetings,
Indan
next prev parent reply other threads:[~2012-02-20 2:09 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-19 22:23 Linus Torvalds
2012-02-19 22:26 ` [PATCH 1/2] i387: use 'restore_fpu_checking()' directly in task switching code Linus Torvalds
2012-02-19 22:37 ` [PATCH 2/2] i387: support lazy restore of FPU state Linus Torvalds
2012-02-19 22:44 ` H. Peter Anvin
2012-02-19 23:18 ` H. Peter Anvin
2012-02-19 23:56 ` Linus Torvalds
2012-02-20 7:51 ` Ingo Molnar
2012-02-20 0:53 ` [PATCH 0/2] More i387 state save/restore work Michael Neuling
2012-02-20 1:03 ` Linus Torvalds
2012-02-20 1:06 ` Linus Torvalds
2012-02-20 1:11 ` Linus Torvalds
2012-03-01 11:30 ` Benjamin Herrenschmidt
2012-02-20 2:09 ` Indan Zupancic [this message]
2012-02-20 19:46 ` [PATCH v2 0/3] " Linus Torvalds
2012-02-20 19:47 ` [PATCH v2 1/3] i387: fix up some fpu_counter confusion Linus Torvalds
2012-02-20 19:48 ` [PATCH v2 2/3] i387: use 'restore_fpu_checking()' directly in task switching code Linus Torvalds
2012-02-20 19:48 ` [PATCH v2 3/3] i387: support lazy restore of FPU state Linus Torvalds
2012-02-21 1:50 ` Josh Boyer
2012-02-21 2:10 ` Linus Torvalds
2012-02-21 2:14 ` H. Peter Anvin
2012-02-21 5:27 ` Linus Torvalds
2012-02-21 5:35 ` H. Peter Anvin
2012-02-21 14:19 ` Josh Boyer
2012-02-21 17:59 ` H. Peter Anvin
2012-02-21 18:06 ` Ingo Molnar
2012-02-21 18:26 ` Linus Torvalds
2012-02-21 21:14 ` H. Peter Anvin
2012-02-21 21:39 ` [PATCH 0/2] i387: FP state interface cleanups Linus Torvalds
2012-02-21 21:40 ` [PATCH 1/2] i387: uninline the generic FP helpers that we expose to kernel modules Linus Torvalds
2012-02-21 21:41 ` [PATCH 2/2] i387: split up <asm/i387.h> into exported and internal interfaces Linus Torvalds
2012-02-21 23:50 ` [tip:x86/fpu] i387: Split " tip-bot for Linus Torvalds
2012-02-28 11:21 ` [PATCH 2/2] i387: split " Avi Kivity
2012-02-28 16:05 ` Linus Torvalds
2012-02-28 17:21 ` Avi Kivity
2012-02-28 17:37 ` Linus Torvalds
2012-02-28 18:08 ` Linus Torvalds
2012-02-28 18:29 ` Avi Kivity
2012-02-28 18:09 ` Avi Kivity
2012-02-28 18:34 ` Linus Torvalds
2012-02-28 19:06 ` Avi Kivity
2012-02-28 19:26 ` Linus Torvalds
2012-02-28 19:45 ` Avi Kivity
2012-02-21 23:49 ` [tip:x86/fpu] i387: Uninline the generic FP helpers that we expose to kernel modules tip-bot for Linus Torvalds
2012-02-21 2:18 ` [PATCH v2 3/3] i387: support lazy restore of FPU state Linus Torvalds
2012-02-21 2:32 ` H. Peter Anvin
2012-02-21 2:11 ` H. Peter Anvin
2012-02-21 21:54 ` Suresh Siddha
2012-02-21 21:57 ` Linus Torvalds
2012-02-21 22:19 ` Suresh Siddha
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=eab6890e2976525235b93e171607d17d.squirrel@webmail.greenhost.nl \
--to=indan@nul.nu \
--cc=anton@samba.org \
--cc=benh@kernel.crashing.org \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mikey@neuling.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®