From: Borislav Petkov <bp@alien8.de>
To: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: LKML <linux-kernel@vger.kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Josh Poimboeuf <jpoimboe@redhat.com>,
Andy Lutomirski <luto@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Juergen Gross <jgross@suse.com>, X86 ML <x86@kernel.org>,
Lai Jiangshan <jiangshan.ljs@antgroup.com>,
Ingo Molnar <mingo@redhat.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
"H. Peter Anvin" <hpa@zytor.com>
Subject: Re: [PATCH V6 3/8] x86/entry: Move PUSH_AND_CLEAR_REGS out of error_entry()
Date: Thu, 28 Apr 2022 12:26:37 +0200 [thread overview]
Message-ID: <Ympr3VU5Q182SVT7@zn.tnic> (raw)
In-Reply-To: <CAJhGHyANWhu-HX20_4XhgACE8tUd8SFa5BTH-ynJscNQ7QxBRw@mail.gmail.com>
On Thu, Apr 28, 2022 at 08:33:36AM +0800, Lai Jiangshan wrote:
> The branch in sync_regs() can be optimized out for the non-XENPV case
> since XENPV doesn't call sync_regs() after patch5 which makes XENPV
> not call error_entry().
I find it confusing why you're even mentioning optimizing a simple test.
That thing is basically a *whopping* two fastpath instructions:
# arch/x86/kernel/traps.c:853: if (regs != eregs)
cmpq %rdi, %rax # eregs, <retval>
je .L255 #,
Is this such a hot path that it shows in some profiles and removing that
test there is so important?
> The aim of this patch and most of the patchset is to make
> error_entry() be able to be converted to C. And XENPV cases can
> also be optimized in the patchset although it is not the major main.
So say just that.
> Since this patch adds extra overhead (CALL and RET), the changelog
> has to explain why it is worth it not just for converting ASM to C.
What is the practical relevance of this very minor overhead? Does it
show even in a microbenchmark?
Thx.
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
next prev parent reply other threads:[~2022-04-28 10:26 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-21 14:10 [PATCH V6 0/8] x86/entry: Clean up entry code Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 1/8] x86/traps: Move pt_regs only in fixup_bad_iret() Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 2/8] x86/entry: Switch the stack after error_entry() returns Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 3/8] x86/entry: Move PUSH_AND_CLEAR_REGS out of error_entry() Lai Jiangshan
2022-04-27 17:45 ` Borislav Petkov
2022-04-28 0:33 ` Lai Jiangshan
2022-04-28 10:26 ` Borislav Petkov [this message]
2022-05-02 12:42 ` Juergen Gross
2022-05-02 18:09 ` Borislav Petkov
2022-04-21 14:10 ` [PATCH V6 4/8] x86/entry: Move cld to the start of idtentry macro Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 5/8] x86/entry: Don't call error_entry() for XENPV Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 6/8] x86/entry: Convert SWAPGS to swapgs and remove the definition of SWAPGS Lai Jiangshan
2022-04-29 9:56 ` Borislav Petkov
2022-04-29 11:45 ` Lai Jiangshan
2022-04-29 12:22 ` Borislav Petkov
2022-05-02 12:18 ` Juergen Gross
2022-05-02 17:56 ` Borislav Petkov
2022-05-03 10:43 ` Borislav Petkov
2022-04-21 14:10 ` [PATCH V6 7/8] x86/entry: Remove the branch in sync_regs() Lai Jiangshan
2022-04-21 14:10 ` [PATCH V6 8/8] x86/entry: Use idtentry macro for entry_INT80_compat() Lai Jiangshan
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=Ympr3VU5Q182SVT7@zn.tnic \
--to=bp@alien8.de \
--cc=dave.hansen@linux.intel.com \
--cc=hpa@zytor.com \
--cc=jgross@suse.com \
--cc=jiangshan.ljs@antgroup.com \
--cc=jiangshanlai@gmail.com \
--cc=jpoimboe@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@redhat.com \
--cc=peterz@infradead.org \
--cc=tglx@linutronix.de \
--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.