From patchwork Wed Jun 10 22:57:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Russell King - ARM Linux X-Patchwork-Id: 6585471 Return-Path: X-Original-To: patchwork-linux-arm@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 3EC11C0020 for ; Wed, 10 Jun 2015 23:00:40 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0B33E2035B for ; Wed, 10 Jun 2015 23:00:39 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D7F38200E1 for ; Wed, 10 Jun 2015 23:00:37 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.80.1 #2 (Red Hat Linux)) id 1Z2ox8-0002RY-K9; Wed, 10 Jun 2015 22:58:34 +0000 Received: from pandora.arm.linux.org.uk ([2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1Z2ox0-0002Cb-7k for linux-arm-kernel@lists.infradead.org; Wed, 10 Jun 2015 22:58:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=arm.linux.org.uk; s=pandora-2014; h=Sender:In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:Cc:To:From:Date; bh=4Sm4Rg6D+A4zVx0n6UdqoU6H0k7G8LjASFzuw7qj3ms=; b=AGWvVgoD4r6sH/WD9xi1sUBU0xxCDlifM4UPcBtRljytVJBsoLeN458rNiXJEL33gh9YkcqYYiEsaA4sSp1oChyda6gJ8xsknM9MUSeKak8y8SMHXJw2WoFdQY9BvziAQ3BMwK7zqvG6HqD9K0Jn39l13ctujURA/w73IMVdTmk=; Received: from n2100.arm.linux.org.uk ([fd8f:7570:feb6:1:214:fdff:fe10:4f86]:34738) by pandora.arm.linux.org.uk with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.82_1-5b7a7c0-XX) (envelope-from ) id 1Z2owN-0003Jm-SM; Wed, 10 Jun 2015 23:57:48 +0100 Received: from linux by n2100.arm.linux.org.uk with local (Exim 4.76) (envelope-from ) id 1Z2owK-0005iP-QZ; Wed, 10 Jun 2015 23:57:44 +0100 Date: Wed, 10 Jun 2015 23:57:44 +0100 From: Russell King - ARM Linux To: Stephen Boyd Subject: Re: [PATCH v5] ARM: smp: Only expose /sys/.../cpuX/online if hotpluggable Message-ID: <20150610225744.GT7557@n2100.arm.linux.org.uk> References: <1428705191-15670-1-git-send-email-sboyd@codeaurora.org> <20150413134246.GS12732@n2100.arm.linux.org.uk> <557739AC.8000903@codeaurora.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <557739AC.8000903@codeaurora.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20150610_155826_643888_59BDBB5B X-CRM114-Status: GOOD ( 20.78 ) X-Spam-Score: -0.1 (/) Cc: Mark Rutland , linux-sh@vger.kernel.org, Tyler Baker , Nicolas Pitre , Magnus Damm , linux-kernel@vger.kernel.org, Simon Horman , Geert Uytterhoeven , Dave Martin , linux-arm-kernel@lists.infradead.org X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Spam-Status: No, score=-4.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_MED, T_DKIM_INVALID, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Tue, Jun 09, 2015 at 12:08:28PM -0700, Stephen Boyd wrote: > On 04/13/2015 06:42 AM, Russell King - ARM Linux wrote: > > On Fri, Apr 10, 2015 at 03:33:11PM -0700, Stephen Boyd wrote: > >> Writes to /sys/.../cpuX/online fail if we determine the platform > >> doesn't support hotplug for that CPU. Furthermore, if the cpu_die > >> op isn't specified the system hangs when we try to offline a CPU > >> and it comes right back online unexpectedly. Let's figure this > >> stuff out before we make the sysfs nodes so that the online file > >> doesn't even exist if it isn't (at least sometimes) possible to > >> hotplug the CPU. > >> > >> Add a new 'cpu_can_disable' op and repoint all 'cpu_disable' > >> implementations at it because all implementers use the op to > >> indicate if a CPU can be hotplugged or not in a static fashion. > >> With PSCI we may need to add a 'cpu_disable' op so that the > >> secure OS can be migrated off the CPU we're trying to hotplug. > >> In this case, the 'cpu_can_disable' op will indicate that all > >> CPUs are hotpluggable by returning true, but the 'cpu_disable' op > >> will make a PSCI migration call and occasionally fail, denying > >> the hotplug of a CPU. This shouldn't be any worse than x86 where > >> we may indicate that all CPUs are hotpluggable but occasionally > >> we can't offline a CPU due to check_irq_vectors_for_cpu_disable() > >> failing to find a CPU to move vectors to. > >> > >> Cc: Mark Rutland > >> Cc: Nicolas Pitre > >> Cc: Dave Martin > >> Acked-by: Simon Horman [shmobile portion] > >> Tested-by: Simon Horman > >> Cc: Magnus Damm > >> Cc: > >> Cc: Tyler Baker > >> Cc: Geert Uytterhoeven > >> Signed-off-by: Stephen Boyd > > Let's see some more acks for this... > > > > Nobody else has acked this so far. Shall I put it in the patch tracker > now? Or is there someone more specific we need an ack from? The version you've put in the patch tracker is not the version you posted. It contains this change: extern int shmobile_smp_cpu_disable(unsigned int cpu); extern void shmobile_invalidate_start(void); there. Hence git quite rightfully declines to apply the patch. Please fix. Thanks. diff --git a/arch/arm/mach-shmobile/common.h b/arch/arm/mach-shmobile/common.h index 476092b86c6e..f2c4bf437ea7 100644 --- a/arch/arm/mach-shmobile/common.h +++ b/arch/arm/mach-shmobile/common.h @@ -13,7 +13,8 @@ extern void shmobile_smp_boot(void); extern void shmobile_smp_sleep(void); extern void shmobile_smp_hook(unsigned int cpu, unsigned long fn, unsigned long arg); -extern int shmobile_smp_cpu_disable(unsigned int cpu); +extern bool shmobile_smp_cpu_can_disable(unsigned int cpu); +extern void shmobile_invalidate_start(void); which your original patch did not include. The tree I'm applying to (-rc1) contains: