Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751609AbdITSBZ (ORCPT ); Wed, 20 Sep 2017 14:01:25 -0400 Received: from mail-qt0-f179.google.com ([209.85.216.179]:50889 "EHLO mail-qt0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751175AbdITSBY (ORCPT ); Wed, 20 Sep 2017 14:01:24 -0400 X-Google-Smtp-Source: AOwi7QC+/VfhJLx5gVu1IG1L62dwGmGDw0btuhRWcCgWFIVvHx8Gx2ikiZwLDCHkZDXQMoIFbMM6ncdrpwiUDS0Otdw= MIME-Version: 1.0 In-Reply-To: <7e39ef18-3e60-8cc9-ec4f-1cd02ade171f@zytor.com> References: <31e96e6bcfcb47725e15a093b9c31660dfaad430.1505846562.git.jpoimboe@redhat.com> <7e39ef18-3e60-8cc9-ec4f-1cd02ade171f@zytor.com> From: Dmitry Vyukov Date: Wed, 20 Sep 2017 20:01:02 +0200 Message-ID: Subject: Re: [PATCH 2/2] x86/asm: Fix inline asm call constraints for clang To: "H. Peter Anvin" Cc: Josh Poimboeuf , "x86@kernel.org" , LKML , Ingo Molnar , Thomas Gleixner , Andy Lutomirski , Linus Torvalds , Alexander Potapenko , Matthias Kaehlcke , Arnd Bergmann , Peter Zijlstra , Andrey Ryabinin Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 989 Lines: 20 On Wed, Sep 20, 2017 at 7:46 PM, H. Peter Anvin wrote: > On 09/20/17 10:38, Dmitry Vyukov wrote: >> >> I think we need just the frame itself and RSP pointing below this >> frame. If we don't have a frame, CALL instruction will smash whatever >> RSP happens to point to. Compiler doesn't have to setup RSP to point >> below used part of stack in leaf functions. >> > > In the kernel it does. Redzoning is not allowed in the kernel, because > interrupts or exceptions would also smash the redzone. I see... But it's the same for user-space signals, the first thing a signal should do is to skip the redzone. I guess interrupt handlers should switch to interrupt stack which avoids smashing redzone altogether. Do you mean nested interrupts/exceptions in interrupts? In my experience frames in leaf functions can have pretty large performance penalty. Wonder if we have we considered changing interrupt/exception handlers to avoid smashing redzones and disable leaf frames?