From: Linus Torvalds <torvalds@linux-foundation.org>
To: Roland McGrath <roland@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
Andrew Morton <akpm@linux-foundation.org>,
Alexander Viro <aviro@redhat.com>, Eric Paris <eparis@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/4] x86_64 ia32 syscall audit fast-path
Date: Mon, 7 Jul 2008 09:34:06 -0700 (PDT) [thread overview]
Message-ID: <alpine.LFD.1.10.0807070927090.11076@woody.linux-foundation.org> (raw)
In-Reply-To: <20080707065742.7C119154246@magilla.localdomain>
On Sun, 6 Jul 2008, Roland McGrath wrote:
>
> This adds fast paths for 32-bit syscall entry and exit when
> TIF_SYSCALL_AUDIT is set, but no other kind of syscall tracing.
> These paths does not need to save and restore all registers as
> the general case of tracing does. Avoiding the iret return path
> when syscall audit is enabled helps performance a lot.
Please don't do it like this.
I realize that Fedora enables audit by default, and that you care about
the speed of the audit path, but I care about the speed of the *non*audit
path. And you just slowed it down unnecessarily.
> TRACE_IRQS_OFF
> - testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
> + testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),threadinfo_flags(%r10)
> jnz int_ret_from_sys_call
> + bt $TIF_SYSCALL_AUDIT,threadinfo_flags(%r10)
> + jc sysexit_audit
Please don't add more instructions to the fastpath. Especially not
relatively slow ones like 'bt'.
So keep the
testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
jnz audit_or_other_work
and then in that *slow*path in int_ret_from_sys_call, do
audit_or_other_work:
testl $(_TIF_ALLWORK_MASK & ~_TIF_SYSCALL_AUDIT),threadinfo_flags(%r10)
jnz int_ret_from_sys_call
sysexit_audit:
....
so that we don't have any extra costs at all for the non-audit case.
I realize that maybe you don't care too much about the ia32 emulation, but
it's going to be the common case for some distros (I think several distros
end up with a 32-bit user space even when they use a 64-bit kernel).
Linus
next prev parent reply other threads:[~2008-07-07 16:35 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-07 6:56 [PATCH 1/4] x86_64: remove bogus optimization in sysret_signal Roland McGrath
2008-07-07 6:57 ` [PATCH 2/4] x86_64 syscall audit fast-path Roland McGrath
2008-07-07 6:57 ` [PATCH 3/4] x86_64 ia32 " Roland McGrath
2008-07-07 16:34 ` Linus Torvalds [this message]
2008-07-07 16:39 ` Linus Torvalds
2008-07-08 0:02 ` Roland McGrath
2008-07-08 0:37 ` Linus Torvalds
2008-07-18 11:36 ` Ingo Molnar
2008-07-21 23:54 ` Roland McGrath
2008-07-24 0:22 ` Linus Torvalds
2008-07-24 0:40 ` Linus Torvalds
2008-07-24 1:04 ` Roland McGrath
2008-07-07 6:58 ` [PATCH 4/4] i386 " Roland McGrath
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=alpine.LFD.1.10.0807070927090.11076@woody.linux-foundation.org \
--to=torvalds@linux-foundation.org \
--cc=akpm@linux-foundation.org \
--cc=aviro@redhat.com \
--cc=eparis@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=tglx@linutronix.de \
/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®