From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752745AbbCDVuV (ORCPT ); Wed, 4 Mar 2015 16:50:21 -0500 Received: from mail-wg0-f53.google.com ([74.125.82.53]:43442 "EHLO mail-wg0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751415AbbCDVuT (ORCPT ); Wed, 4 Mar 2015 16:50:19 -0500 Date: Wed, 4 Mar 2015 22:50:15 +0100 From: Ingo Molnar To: Andy Lutomirski Cc: x86@kernel.org, linux-kernel@vger.kernel.org, Borislav Petkov , Oleg Nesterov , Denys Vlasenko , Linus Torvalds , Thomas Gleixner , "H. Peter Anvin" Subject: Re: [PATCH 00/16] x86/asm changes for 4.1 for review Message-ID: <20150304215014.GA11667@gmail.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Andy Lutomirski 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