Re: [PATCH 00/16] x86/asm changes for 4.1 for review

From: Ingo Molnar
Date: Wed Mar 04 2015 - 16:50:24 EST



* Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:

> Hi all-
>
> After much handwringing, painful review, and curation, here's round
> 1 of the x86/asm changes. (This is not intended to imply that there
> will or will not be a round 2.)
>
> For ease of review for git users:
>
> The following changes since commit 7453311d68f16a5c587c3cbf19563c9a4fbbd41a:
>
> Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip (2015-02-09 17:16:44 -0800)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git
>
> for you to fetch changes up to 4710be56d76ef994ddf59087aad98c000fbab9a4:
>
> x86_64, entry: Remove a bogus ret_from_fork optimization (2015-02-26 07:09:36 -0800)
>
> Ingo, if you like these, feel free to pull. I will try to review
> the scary change *again* this evening if I have time. In the mean
> time, these are queued as is for -next. I will remove them from my
> -next branch if they turn out to be buggy or if they end up in -tip
> in any form.
>
> Andy Lutomirski (2):
> x86, entry: Remove int_check_syscall_exit_work
> x86_64, entry: Remove a bogus ret_from_fork optimization
>
> Denys Vlasenko (14):
> x86: open-code register save/restore in trace_hardirqs thunks
> x86: introduce push/pop macros which generate CFI_REL_OFFSET and
> CFI_RESTORE
> x86: entry_64.S: fix wrong symbolic constant usage: R11->ARGOFFSET
> x86: entry_64.S: always allocate complete "struct pt_regs"
> x86: entry_64.S: fix comments. No code changes
> x86: code shrink in paranoid_exit
> x86: mass removal of ARGOFFSET. No code changes
> x86: add comments about various syscall instructions, no code changes
> x86: entry_64.S: move save_paranoid and ret_from_fork closer to their
> users
> x86: entry_64.S: rename save_paranoid to paranoid_entry, no code
> changes
> x86: ia32entry.S: fold IA32_ARG_FIXUP macro into its callers
> x86: entry_64.S: use more understandable constants
> x86: ia32entry.S: use more understandable constant
> x86: entry.S: simplify optimistic SYSRET
>
> arch/x86/ia32/ia32entry.S | 342 ++++++++++++----------
> arch/x86/include/asm/calling.h | 267 ++++++++---------
> arch/x86/include/asm/dwarf2.h | 24 ++
> arch/x86/include/asm/irqflags.h | 4 +-
> arch/x86/include/asm/ptrace.h | 13 +-
> arch/x86/include/uapi/asm/ptrace-abi.h | 16 +-
> arch/x86/include/uapi/asm/ptrace.h | 13 +-
> arch/x86/kernel/entry_32.S | 21 +-
> arch/x86/kernel/entry_64.S | 510 ++++++++++++++++-----------------
> arch/x86/lib/atomic64_cx8_32.S | 50 ++--
> arch/x86/lib/checksum_32.S | 60 ++--
> arch/x86/lib/msr-reg.S | 24 +-
> arch/x86/lib/rwsem.S | 44 ++-
> arch/x86/lib/thunk_32.S | 18 +-
> arch/x86/lib/thunk_64.S | 28 +-
> 15 files changed, 724 insertions(+), 710 deletions(-)

Ok, I had a really close look, and these changes are all looking good
to me.

While reviewing the patches I also fixed up the patch titles and tons
of small details in the changelogs, so I didn't pull but applied the
patches out of email, to tip:x86/asm.

Thanks guys, this is really good progress and a big step forward for
the x86 entry code's readability and maintainability!

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/