Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1005105imu; Fri, 11 Jan 2019 13:07:46 -0800 (PST) X-Google-Smtp-Source: ALg8bN7SNn1V5mDurrdI/NWTu378dIhKThn7BoEwuiKsCHmxN8K0PHyBIq41K9ZqjgooAqa5CGNW X-Received: by 2002:a63:304:: with SMTP id 4mr13529151pgd.99.1547240866266; Fri, 11 Jan 2019 13:07:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1547240866; cv=none; d=google.com; s=arc-20160816; b=oGyiLy7+dij0qQAcrQG+G/zSaKkhOFxzb8KlUcZi63LWZ9Qbo9y1PfoRZMMJpNwIlN zJGor/Esvk6NRcTLd5bdre+2horEGgf/orneR2dtnl5slWMx4Aq/UvZYZKWH3UqLGv2F tDehWALyYGnXCTsjKiFP4JsKIA+WN8PEV9gncX8UuFXjypSH3ctjHKhC46Wl4Mojbdoy swtPhmXy6LGAVzCp7gG2n3e3H4P/+cX9LQswDpZJJuxDnX1qTfg/u0FWrWkeuzEb+kTh kagzHBzRCsPiqwzNO+xdcdMwoQu+LAZTnkr6qu9dso2Ugk+rrGbL7s1TP5ejHRoQxSQq WouA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=UiWnXnEvlPUX0zpqUZDuTz3ohngAnxFACu7awgZQzwU=; b=GOpZy6oqG6Ds70gCbMJKvCVQu6q/vSiatc4pLj4gVFxSHs4y8WrGnP4KVWc2nL9QXT pPR5LFV9KNGMizHp576UTbOiuASCg+Zx9ERfTsaLSnMam3HhFBelpqPiYoEcXa+i9QLQ HyueoTcjXHqPG3Y0y7GnvJ2c7/Yuyzf4eyIlRA1cmWIZXDYtfnNSeiwVa2JbPwtAVliQ Boc4HG7DImFvqu81DPDPOY+/sSvK/jLKchUZINxGatzJLa2Y5Tv6Mz+oTTEhZ1ICy+ll 5goT1SYccwpc+23NhrvEm0xVSIQfKatF+MeGG/AnBwlIWzbBV63xJ+BsYQPJhp+NzaTh bQnA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d13si10162307plr.403.2019.01.11.13.07.28; Fri, 11 Jan 2019 13:07:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388694AbfAKTje (ORCPT + 99 others); Fri, 11 Jan 2019 14:39:34 -0500 Received: from mx2.suse.de ([195.135.220.15]:45642 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1730371AbfAKTjd (ORCPT ); Fri, 11 Jan 2019 14:39:33 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id C5E9BB055; Fri, 11 Jan 2019 19:39:31 +0000 (UTC) Date: Fri, 11 Jan 2019 20:39:28 +0100 (CET) From: Jiri Kosina To: hpa@zytor.com cc: Linus Torvalds , Josh Poimboeuf , Nadav Amit , Andy Lutomirski , Peter Zijlstra , the arch/x86 maintainers , Linux List Kernel Mailing , Ard Biesheuvel , Steven Rostedt , Ingo Molnar , Thomas Gleixner , Masami Hiramatsu , Jason Baron , David Laight , Borislav Petkov , Julia Cartwright , Jessica Yu , Rasmus Villemoes , Edward Cree , Daniel Bristot de Oliveira Subject: Re: [PATCH v3 0/6] Static calls In-Reply-To: <12578A17-E695-4DD5-AEC7-E29FAB2C8322@zytor.com> Message-ID: References: <20190110203023.GL2861@worktop.programming.kicks-ass.net> <20190110205226.iburt6mrddsxnjpk@treble> <20190111151525.tf7lhuycyyvjjxez@treble> <12578A17-E695-4DD5-AEC7-E29FAB2C8322@zytor.com> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 11 Jan 2019, hpa@zytor.com wrote: > I still don't see why can't simply spin in the #BP handler until the > patch is complete. I think this brings us to the already discussed possible deadlock, when one CPU#0 is in the middle of text_poke_bp(), CPU#1 is spinning inside spin_lock_irq*(&lock) and CPU#2 hits the breakpont while holding that very 'lock'. Then we're stuck forever, because CPU#1 will never handle the pending sync_core() IPI (it's not NMI). Or have I misunderstood what you meant? -- Jiri Kosina SUSE Labs