From: "H. Peter Anvin" <hpa@zytor.com>
To: Andy Lutomirski <luto@amacapital.net>
Cc: Borislav Petkov <bp@alien8.de>,
Denys Vlasenko <vda.linux@googlemail.com>,
Linus Torvalds <torvalds@linux-foundation.org>,
Brian Gerst <brgerst@gmail.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
Ingo Molnar <mingo@kernel.org>,
Steven Rostedt <rostedt@goodmis.org>,
Oleg Nesterov <oleg@redhat.com>,
Frederic Weisbecker <fweisbec@gmail.com>,
Alexei Starovoitov <ast@plumgrid.com>,
Will Drewry <wad@chromium.org>, Kees Cook <keescook@chromium.org>,
the arch/x86 maintainers <x86@kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] x86/asm/entry/32: Restore %ss before SYSRETL if necessary
Date: Thu, 23 Apr 2015 17:59:57 -0700 [thread overview]
Message-ID: <5539958D.7000405@zytor.com> (raw)
In-Reply-To: <CALCETrXQnb6jPuXkjXmg5yYCKOEyCL3hZ_sDrD7=Af1idr5zBw@mail.gmail.com>
On 04/23/2015 03:55 PM, Andy Lutomirski wrote:
> On Thu, Apr 23, 2015 at 3:52 PM, H. Peter Anvin <hpa@zytor.com> wrote:
>> On 04/23/2015 03:38 PM, Andy Lutomirski wrote:
>>>>
>>>> Because there are way more sysrets than context switches, and Linux is
>>>> particularly sensitive to system call latency, by design.
>>>
>>
>> Just to clarify: why would Linux be more sensitive to system call by
>> design? It enables much simpler APIs and avoids hacks like sending down
>> a syscall task list (which was genuinely proposed at one point.) If
>> kernel entry/exit is too expensive, then the APIs get more complex
>> because they *have* to do everything in the smallest number of system calls.
>>
>
> It's a matter of the ratio, right? One cycle of syscall overhead
> saved is worth some number of context switch cycles added, and the
> ratio probably varies by workload.
>
Correct. For workloads which do *no* system calls it is kind of "special".
> If we do syscall, two context switches, and sysret, then we wouldn't
> have been better off fixing it on sysret. But maybe most workloads
> still prefer the fixup on context switch.
>
There is also a matter of latency, which tends to be more critical for
syscall.
-hpa
prev parent reply other threads:[~2015-04-24 1:00 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-23 12:34 [PATCH] x86/asm/entry/32: Restore %ss before SYSRETL if necessary Denys Vlasenko
2015-04-23 15:22 ` Linus Torvalds
2015-04-23 15:50 ` Andy Lutomirski
2015-04-23 16:05 ` Linus Torvalds
2015-04-23 16:11 ` Borislav Petkov
2015-04-23 16:06 ` Brian Gerst
2015-04-23 16:13 ` Linus Torvalds
2015-04-23 16:27 ` Andy Lutomirski
2015-04-23 20:01 ` Denys Vlasenko
2015-04-23 21:10 ` Borislav Petkov
2015-04-23 21:37 ` H. Peter Anvin
2015-04-23 21:46 ` Borislav Petkov
2015-04-23 22:29 ` Andy Lutomirski
2015-04-23 22:31 ` H. Peter Anvin
2015-04-23 22:38 ` Andy Lutomirski
2015-04-23 22:52 ` H. Peter Anvin
2015-04-23 22:55 ` Andy Lutomirski
2015-04-23 23:04 ` Linus Torvalds
2015-04-23 23:22 ` Denys Vlasenko
2015-04-24 0:59 ` H. Peter Anvin [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=5539958D.7000405@zytor.com \
--to=hpa@zytor.com \
--cc=ast@plumgrid.com \
--cc=bp@alien8.de \
--cc=brgerst@gmail.com \
--cc=dvlasenk@redhat.com \
--cc=fweisbec@gmail.com \
--cc=keescook@chromium.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=mingo@kernel.org \
--cc=oleg@redhat.com \
--cc=rostedt@goodmis.org \
--cc=torvalds@linux-foundation.org \
--cc=vda.linux@googlemail.com \
--cc=wad@chromium.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 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.