From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755665AbbFBI0g (ORCPT ); Tue, 2 Jun 2015 04:26:36 -0400 Received: from terminus.zytor.com ([198.137.202.10]:45921 "EHLO terminus.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755428AbbFBI0K (ORCPT ); Tue, 2 Jun 2015 04:26:10 -0400 Date: Tue, 2 Jun 2015 01:25:15 -0700 From: tip-bot for Jan Beulich Message-ID: Cc: dvlasenk@redhat.com, jbeulich@suse.com, brgerst@gmail.com, luto@kernel.org, hpa@zytor.com, mingo@kernel.org, bp@alien8.de, JBeulich@suse.com, peterz@infradead.org, torvalds@linux-foundation.org, luto@amacapital.net, linux-kernel@vger.kernel.org, tglx@linutronix.de Reply-To: luto@amacapital.net, torvalds@linux-foundation.org, peterz@infradead.org, tglx@linutronix.de, linux-kernel@vger.kernel.org, luto@kernel.org, brgerst@gmail.com, jbeulich@suse.com, dvlasenk@redhat.com, JBeulich@suse.com, mingo@kernel.org, bp@alien8.de, hpa@zytor.com In-Reply-To: <556C664F020000780007FB64@mail.emea.novell.com> References: <556C664F020000780007FB64@mail.emea.novell.com> To: linux-tip-commits@vger.kernel.org Subject: [tip:x86/asm] x86/asm/entry/64: Fold identical code paths Git-Commit-ID: 2f63b9db7260beba3c19d66d6c11b0b78ea84a8c X-Mailer: tip-git-log-daemon Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Commit-ID: 2f63b9db7260beba3c19d66d6c11b0b78ea84a8c Gitweb: http://git.kernel.org/tip/2f63b9db7260beba3c19d66d6c11b0b78ea84a8c Author: Jan Beulich AuthorDate: Mon, 1 Jun 2015 13:03:59 +0100 Committer: Ingo Molnar CommitDate: Tue, 2 Jun 2015 10:10:09 +0200 x86/asm/entry/64: Fold identical code paths retint_kernel doesn't require %rcx to be pointing to thread info (anymore?), and the code on the two alternative paths is - not really surprisingly - identical. Signed-off-by: Jan Beulich Cc: Andy Lutomirski Cc: Andy Lutomirski Cc: Borislav Petkov Cc: Brian Gerst Cc: Denys Vlasenko Cc: H. Peter Anvin Cc: Linus Torvalds Cc: Peter Zijlstra Cc: Thomas Gleixner Link: http://lkml.kernel.org/r/556C664F020000780007FB64@mail.emea.novell.com Signed-off-by: Ingo Molnar --- arch/x86/kernel/entry_64.S | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S index b84cec5..4ad79e9 100644 --- a/arch/x86/kernel/entry_64.S +++ b/arch/x86/kernel/entry_64.S @@ -615,7 +615,7 @@ ret_from_intr: testb $3, CS(%rsp) jz retint_kernel /* Interrupt came from user space */ - +retint_user: GET_THREAD_INFO(%rcx) /* * %rcx: thread info. Interrupts off. @@ -1194,15 +1194,9 @@ ENTRY(error_exit) RESTORE_EXTRA_REGS DISABLE_INTERRUPTS(CLBR_NONE) TRACE_IRQS_OFF - GET_THREAD_INFO(%rcx) testl %eax,%eax jnz retint_kernel - LOCKDEP_SYS_EXIT_IRQ - movl TI_flags(%rcx),%edx - movl $_TIF_WORK_MASK,%edi - andl %edi,%edx - jnz retint_careful - jmp retint_swapgs + jmp retint_user END(error_exit) /* Runs on exception stack */