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: 6585451 X-Patchwork-Delegate: horms@verge.net.au Return-Path: X-Original-To: patchwork-linux-sh@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork1.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork1.web.kernel.org (Postfix) with ESMTP id B3E5E9F326 for ; Wed, 10 Jun 2015 22:58:04 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id A830320340 for ; Wed, 10 Jun 2015 22:58:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 837BC200E1 for ; Wed, 10 Jun 2015 22:58:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754186AbbFJW56 (ORCPT ); Wed, 10 Jun 2015 18:57:58 -0400 Received: from pandora.arm.linux.org.uk ([78.32.30.218]:51507 "EHLO pandora.arm.linux.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752423AbbFJW54 (ORCPT ); Wed, 10 Jun 2015 18:57:56 -0400 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 Cc: Mark Rutland , Nicolas Pitre , Tyler Baker , linux-sh@vger.kernel.org, Magnus Damm , linux-kernel@vger.kernel.org, Simon Horman , Geert Uytterhoeven , Dave Martin , linux-arm-kernel@lists.infradead.org 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) Sender: linux-sh-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-sh@vger.kernel.org X-Spam-Status: No, score=-6.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID,T_RP_MATCHES_RCVD,UNPARSEABLE_RELAY autolearn=ham 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: