Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752511AbdF3QQM (ORCPT ); Fri, 30 Jun 2017 12:16:12 -0400 Received: from mx1.redhat.com ([209.132.183.28]:33076 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751322AbdF3QQK (ORCPT ); Fri, 30 Jun 2017 12:16:10 -0400 DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 5575AE8CCB Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=jpoimboe@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 5575AE8CCB Date: Fri, 30 Jun 2017 11:16:07 -0500 From: Josh Poimboeuf To: Andy Lutomirski Cc: X86 ML , "linux-kernel@vger.kernel.org" , live-patching@vger.kernel.org, Linus Torvalds , Jiri Slaby , Ingo Molnar , "H. Peter Anvin" , Peter Zijlstra , Mike Galbraith Subject: Re: [PATCH v2 6/8] x86/entry: add unwind hint annotations Message-ID: <20170630161607.mruu2bnp7okwpq7b@treble> References: <20170629214134.c36krjhvzegwkfjk@treble> <20170630021249.cqkszxaqtwakmzpg@treble> <20170630131148.yszdjakekrwqlf6k@treble> <20170630155500.vnn5szd6smpn5nrz@treble> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.6.0.1 (2016-04-01) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Fri, 30 Jun 2017 16:16:09 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1782 Lines: 52 On Fri, Jun 30, 2017 at 08:56:09AM -0700, Andy Lutomirski wrote: > On Fri, Jun 30, 2017 at 8:55 AM, Josh Poimboeuf wrote: > > On Fri, Jun 30, 2017 at 08:44:40AM -0700, Andy Lutomirski wrote: > >> > A few comments about the first patch: > >> > > >> > https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?h=x86/entry_irq_stack&id=3e2aa2102cc1c5e60d4a8637bff78d0478a55059 > >> > > >> > - It uses a '693:' label instead of '.Lirqs_off_\@:' > >> > >> Touché! > >> > >> > > >> > - There's a comment I don't follow: > >> > > >> > "Anything that can interrupt us here without using IST must be > >> > *extremely* careful to limit its stack usage." > >> > > >> > What specifically could interrupt there without using IST? > >> > >> #DB, later on in the series. I'll update the comment. > >> > >> > > >> > - Since do_softirq_own_stack() is a callable function, I think it still > >> > needs to save rbp. > >> > >> Whoops. > >> > >> > > >> > - Why change the "jmp error_exit" to "ret" in > >> > xen_do_hypervisor_callback()? > >> > >> To match the other change I made there. I removed both. > > > > One more thing I forgot to mention: if you could use r10 instead of r11, > > that would be helpful because it means one less register undwarf needs > > to know about. (It already deals with r10 because of GCC stack > > realignment). > > I'll let you figure that one out :) > > (Although I think I agree with hpa: why not let it support all regs? > Or am I missing something still?) Sure, it can support all regs, but as the code is structured now, doing so means adding more switch cases, e.g.: https://github.com/jpoimboe/linux/blob/undwarf-v2/arch/x86/kernel/unwind_undwarf.c#L388 And that makes the balrog angry! -- Josh