From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755435AbbAJWgU (ORCPT ); Sat, 10 Jan 2015 17:36:20 -0500 Received: from mail-qa0-f53.google.com ([209.85.216.53]:33432 "EHLO mail-qa0-f53.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751576AbbAJWgS (ORCPT ); Sat, 10 Jan 2015 17:36:18 -0500 MIME-Version: 1.0 In-Reply-To: References: <1420927210-19738-1-git-send-email-dvlasenk@redhat.com> <1420927210-19738-4-git-send-email-dvlasenk@redhat.com> From: Denys Vlasenko Date: Sat, 10 Jan 2015 23:35:58 +0100 Message-ID: Subject: Re: [PATCH 3/4] x86: open-code register save/restore in trace_hardirqs thunks To: Linus Torvalds Cc: Denys Vlasenko , Linux Kernel Mailing List , Oleg Nesterov , "H. Peter Anvin" , Borislav Petkov , Andy Lutomirski , Frederic Weisbecker , X86 ML , Alexei Starovoitov , Will Drewry , Kees Cook Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jan 10, 2015 at 11:07 PM, Linus Torvalds wrote: > On Sat, Jan 10, 2015 at 2:00 PM, Denys Vlasenko wrote: >> + pushq_cfi %rdi >> + CFI_REL_OFFSET rdi, 0 >> + pushq_cfi %rsi >> + CFI_REL_OFFSET rsi, 0 >> + pushq_cfi %rdx >> + CFI_REL_OFFSET rdx, 0 > .. > Ugh. > > This is too ugly, it needs to die. > > Why doesn't pushq_cfi do that CFI_REL_OFFSET thing? I don't know either... it seems to be used after push_cfi *sometimes*, not always: .macro op_safe_regs op ENTRY(\op\()_safe_regs) CFI_STARTPROC pushl_cfi %ebx pushl_cfi %ebp pushl_cfi %esi pushl_cfi %edi but ENTRY(csum_partial) CFI_STARTPROC pushl_cfi %esi CFI_REL_OFFSET esi, 0 pushl_cfi %ebx CFI_REL_OFFSET ebx, 0 We need an expert to enlighten us.