Received: by 2002:a05:6a10:7420:0:0:0:0 with SMTP id hk32csp852692pxb; Wed, 16 Feb 2022 05:56:54 -0800 (PST) X-Google-Smtp-Source: ABdhPJxJGquRR9lDbllODTjf8dRF/b/0VbhoUHjrh2N572Cyssp25H5WAOG6FBg953+vVU5bEslT X-Received: by 2002:a05:6402:440b:b0:410:5fb4:7225 with SMTP id y11-20020a056402440b00b004105fb47225mr3119157eda.216.1645019814438; Wed, 16 Feb 2022 05:56:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645019814; cv=none; d=google.com; s=arc-20160816; b=ljYQK6a/rg/XTkqoK0lvEeIb9xQpzBngYlHbVG4/JQQwxe+jZJP2rkV4LoAhgDr2Y1 JAl/jIgLVjJxS3qTUCuOXw+51MW6BQd+DECqpyJ2wU+ZUAwgutY6qXiLXNVP59SlYOZ0 1bgZd0OGoCUfVCzDsJhTvjPJ84dpFSy8wYdbRk4uuk1pfMgdVxG/1x813vb3oMrLeMFw 7fH8XzwbllGdJWh9SXdqvLExAD6v7gcbDXWy7e4MvhujEuC8IAyrtBPonzW2m2lEJ4BT 8bwgOlEoGGE3c0LVBcoCbR/BZQGdOCpKFoHRDQbAyvfnAiROQ/GRlODcFF2/bkNNkMw7 0K6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=HJNUJzZ2w9KfbDjNaVqLNvvR+3gcB5EqVbNjWDB34dM=; b=LJL/WaLdoYMPA/+vaUKq7y6BgKrai6NWqjJVW95lGTzw4EjAYrsYsS7Sq8Ktjn7cNs Y3ia0UHve7k7I2tmIWa6uAswFSLuzJa8P9pxf5oZz9p0V5SgekCjgXW2fHlLfCOU2/o6 xtbUbvSJheoYIM+qmgUKzBZOh+c3ih++xhdvx0A+qBQml5mQTVQMaMzPClnCqbyn+RLP kYeLhyPPz4Q6+jWedc4BgDsHHpJjBXtRno+jVJTjGpwp7hNhL7hNvcHCvYIN52LkQTDT z2U8YyCUGH0CDDFaNlYUwZO3BEOF2VMhVJTLWAg9rgb6ExHkvCrXSLj84XK83PK8Ha3/ U7wA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@semihalf-com.20210112.gappssmtp.com header.s=20210112 header.b=k5qtB80P; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6si1811027edu.231.2022.02.16.05.56.27; Wed, 16 Feb 2022 05:56:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@semihalf-com.20210112.gappssmtp.com header.s=20210112 header.b=k5qtB80P; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234496AbiBPNdL (ORCPT + 99 others); Wed, 16 Feb 2022 08:33:11 -0500 Received: from mxb-00190b01.gslb.pphosted.com ([23.128.96.19]:52306 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233668AbiBPNdK (ORCPT ); Wed, 16 Feb 2022 08:33:10 -0500 Received: from mail-lj1-x22e.google.com (mail-lj1-x22e.google.com [IPv6:2a00:1450:4864:20::22e]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9A5B217F13F for ; Wed, 16 Feb 2022 05:32:57 -0800 (PST) Received: by mail-lj1-x22e.google.com with SMTP id bn33so3335953ljb.6 for ; Wed, 16 Feb 2022 05:32:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=semihalf-com.20210112.gappssmtp.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=HJNUJzZ2w9KfbDjNaVqLNvvR+3gcB5EqVbNjWDB34dM=; b=k5qtB80PfvkpTvOjjPlDYkbks7d3GraoGroAvNeTe2wCI/h1xR9X/PM8do+SuHmsrV Ks5AvtjFoaCXBbvMIiV/j6zb0IJKGWgwVAJ3Ttziu7hyFN43/txrW3+0KSqulB2PsMK0 tYkl8gMrArec04pOak6emYrh+vQdxQVCboEPU2gFFctz4DPcp4+OZuu2zwvBH+xFlQp9 ZTLlS0da9Wsm92DINB14pXfZt65ufAWKyqIJHOYBx4OBOoEgTlqz5Bd1dfvxESaOLtr9 Jrl6uM/fdxycegSKg81xYRMFkEBVNxil/tf2IBts69ojFq3vjAEWhtfdz3HfFgDsGxEs BsbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=HJNUJzZ2w9KfbDjNaVqLNvvR+3gcB5EqVbNjWDB34dM=; b=Bv7cY3TMWGVYkI1CVCDilQq87DzeomDGCSfn8lm2nC9ZlJwLY975uYM0J+D1Xe7r5m yPkXp3f4WX3ZXJ3Uabo6sMR36FmtIig6E9K6pyvnvyiOtjXMwmJkQ2Vd+AOKIrTMt0G2 bm7gOko1rma6nyrvPo4vJ3ZWmXLJCaKYHxmxkDq6p1nIUvpJ5g+5uvqIyNvNgj+fHJRG 6UNR9JrnuDdFPDpQfE24GHAcXvmNoAXr7bTWdF+yuNREWU9Aw9gJomoBJ2aEWMtMwtat 3kr942Sk/iHrTtJvSoqsTqRuoXAxI7WSgI0W8hoTWpEgzl8xJIz1ukG8Z561X8rMXPr4 6YEA== X-Gm-Message-State: AOAM531Hlo9CB2enQpz4NF5cMnFXKgLg090o10b5SqgEkxgv/yjQqnBj wySTcEZpNU6XysqJOM58YBlQCKHrNJAI90Nw/64YCA== X-Received: by 2002:a05:651c:178c:b0:245:fd2c:2d2b with SMTP id bn12-20020a05651c178c00b00245fd2c2d2bmr2101671ljb.486.1645018375924; Wed, 16 Feb 2022 05:32:55 -0800 (PST) MIME-Version: 1.0 References: <20220216090845.1278114-1-maz@kernel.org> <877d9v3po0.wl-maz@kernel.org> In-Reply-To: <877d9v3po0.wl-maz@kernel.org> From: Marcin Wojtas Date: Wed, 16 Feb 2022 14:32:42 +0100 Message-ID: Subject: Re: [PATCH 0/2] net: mvpp2: Survive CPU hotplug events To: Marc Zyngier Cc: Linux Kernel Mailing List , netdev , Greg Kroah-Hartman , Russell King , "David S. Miller" , Jakub Kicinski , Thomas Gleixner , John Garry , kernel-team@android.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org =C5=9Br., 16 lut 2022 o 14:29 Marc Zyngier napisa=C5=82(a)= : > > On Wed, 16 Feb 2022 13:19:30 +0000, > Marcin Wojtas wrote: > > > > Hi Marc, > > > > =C5=9Br., 16 lut 2022 o 10:08 Marc Zyngier napisa=C5= =82(a): > > > > > > I recently realised that playing with CPU hotplug on a system equiped > > > with a set of MVPP2 devices (Marvell 8040) was fraught with danger an= d > > > would result in a rapid lockup or panic. > > > > > > As it turns out, the per-CPU nature of the MVPP2 interrupts are > > > getting in the way. A good solution for this seems to rely on the > > > kernel's managed interrupt approach, where the core kernel will not > > > move interrupts around as the CPUs for down, but will simply disable > > > the corresponding interrupt. > > > > > > Converting the driver to this requires a bit of refactoring in the IR= Q > > > subsystem to expose the required primitive, as well as a bit of > > > surgery in the driver itself. > > > > > > Note that although the system now survives such event, the driver > > > seems to assume that all queues are always active and doesn't inform > > > the device that a CPU has gone away. Someout who actually understand > > > this driver should have a look at it. > > > > > > Patches on top of 5.17-rc3, lightly tested on a McBin. > > > > > > > Thank you for the patches. Can you, please, share the commands you > > used? I'd like to test it more. > > Offline CPU3: > # echo 0 > /sys/devices/system/cpu/cpu3/online > > Online CPU3: > # echo 1 > /sys/devices/system/cpu/cpu3/online > > Put that in a loop, using different CPUs. > > On my HW, turning off CPU0 leads to odd behaviours (I wouldn't be > surprised if the firmware was broken in that respect, and also the > fact that the device keeps trying to send stuff to that CPU...). > Thanks, I think stressing DUT with traffic during CPU hotplug will be a good scenario - I'll try that. Marcin