Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp1102052ybb; Wed, 25 Mar 2020 15:56:37 -0700 (PDT) X-Google-Smtp-Source: ADFU+vvG/QsXx8zlxh1eUTVD8cweasACRWeSU0R9Po7TOzvzkdw5WIykFyxB4dRFNOvJZs/XAiw9 X-Received: by 2002:aca:de42:: with SMTP id v63mr3951623oig.99.1585176997324; Wed, 25 Mar 2020 15:56:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585176997; cv=none; d=google.com; s=arc-20160816; b=U7RCk+EdmAK4jhro433URx7DLwd/ofgFAtQELAvsmicvM/xvcXRgUmv3Ozf2QlUSUv Gq+iMyUOKtaZiYVkLNsJNNRp2z3NKuUwtIXSDqdypSuYROY56/+TfbfhcF7T72ySdPfD uKj5cORXt+y4z8/cc65xPy+ShzGlI5ieODGYXqJvdDqALOxwv6D87kUypAfedHeHQeo/ b0BQX0k6xHMjf2TuIdxUNS5ziR+g6SxIaFEjCa1I6w2LLcYUbjQFVpwk4jON0++TFxrj DRiRET0KQm+MX91lC/+dUmqpTroChEWSZxxDkImizrq/kgEzBFzQhlPrNxKL6cSxWOB1 9PrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IBkDa1/hytZETbuj2tpOYG47B7NXMEkPeVfxoKj2RlY=; b=DpeRNX/3lGYUjixGvuyvtS4snXF1Y/+pPhzGYSFv5aoGrzkOOOw5aUZSJkgrq/u6FO GhheqtF99tfOl5GPskX9I19clDmMXJz4ZAD4TApxh6LvQQ6sVjPmt8ug7HZOICeQwb9v M+NkEGh/Tx0hlHZ3UF3+zUU6KkFMrz4sPQ3cIztPC3oCmRVy+gH7ry1fnnkLEgKEmTiu grU0myYtz9wxt2uVNaeKey5PxHMNkDJAojNXx6c8Gmb05AKh6ETz3jZD1eHmHcDXFIzT m+k55HV5HhSDJQOwN84Da4y8RaPZUm3AThMkAONb79BKKLrMb/2DX1+VrUArLdL74a1Q 1NMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uuSbknCf; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id j1si172886oiw.205.2020.03.25.15.56.23; Wed, 25 Mar 2020 15:56:37 -0700 (PDT) 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; dkim=pass header.i=@gmail.com header.s=20161025 header.b=uuSbknCf; 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=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727420AbgCYW4I (ORCPT + 99 others); Wed, 25 Mar 2020 18:56:08 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:51136 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727358AbgCYW4H (ORCPT ); Wed, 25 Mar 2020 18:56:07 -0400 Received: by mail-wm1-f66.google.com with SMTP id d198so4657049wmd.0; Wed, 25 Mar 2020 15:56:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=IBkDa1/hytZETbuj2tpOYG47B7NXMEkPeVfxoKj2RlY=; b=uuSbknCfLrcZSlYqiz4zbn8lx14lTu2O528nDK6f51AC1drW+VdTAOlqZyDNBfpEW6 /mqohFO5tpQRKEkxE3rbaAxj1xahstEi/dulrBfheWseEp/ec/GB9p8C+lkOTaY6krH8 8tTG8ba3ewNf5VRdFwcfBaa5LYX5Qq1iEXJnRgOkvgeukcWg9lEOLxhTOKrZeWtrBO5l ZQZE9JnbmslODv7XoBc8mt3JQlmbp58rTgAkX3u5/T6BPdnuvjtzTDPwFVV2zH9L2R9s JGcq9aKiiP2l9zjd0gmGWmobOhhZpmu/wQjDBjxR8ZktMqKwoDhqQ4XRoUaDbiXbzeAh 4kMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=IBkDa1/hytZETbuj2tpOYG47B7NXMEkPeVfxoKj2RlY=; b=ORe0+IbeLJesUrjRTarzWaiXPtaAgsHQYDzHYsxzHk2BYmxHcQr4TAMFvIknI2iBMW 49fkaUR6euN0c8hjVMGa9ZZKy4URRWhpXbXvpQGB/1sZynwKSmNyZ4gz14xJCx2gPgLo CI2UKA0ALqo2U6EbT66p7kf0TtRcDEPP5PduorxWtN34nnpTAojbmVUYctXwX7oBMLzk hkL8m76dHDYdQeD5PIWSfzGTqnGpeCaMFgKmofX3nytZ4FJEvsIKPbOutnnjKIcRpeK/ vTcj7Az85OrMt8ckuCA9eFTVyXHrBkPs29XH13S9WasUwJAcBZCQjqByBVqkpOqkXySb uxEQ== X-Gm-Message-State: ANhLgQ1bQp5y2XEt3x1cjd5PdcOnBIwKb5Ss9+Oxq3eM0Nud+AxDjIYA unc5rFn28AU0D75LjDFIB2SxHzKi4zs8Nm93 X-Received: by 2002:a1c:2c8a:: with SMTP id s132mr5661043wms.22.1585176965234; Wed, 25 Mar 2020 15:56:05 -0700 (PDT) Received: from andrea.corp.microsoft.com ([86.61.236.197]) by smtp.gmail.com with ESMTPSA id q72sm790278wme.31.2020.03.25.15.56.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Mar 2020 15:56:04 -0700 (PDT) From: "Andrea Parri (Microsoft)" To: linux-kernel@vger.kernel.org Cc: "K . Y . Srinivasan" , Haiyang Zhang , Stephen Hemminger , Wei Liu , linux-hyperv@vger.kernel.org, Michael Kelley , Dexuan Cui , Boqun Feng , Vitaly Kuznetsov , "Andrea Parri (Microsoft)" , "David S. Miller" , Lorenzo Pieralisi , Andrew Murray , Bjorn Helgaas , "James E.J. Bottomley" , "Martin K. Petersen" Subject: [RFC PATCH 00/11] VMBus channel interrupt reassignment Date: Wed, 25 Mar 2020 23:54:54 +0100 Message-Id: <20200325225505.23998-1-parri.andrea@gmail.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi all, This series introduces changes in the VMBus drivers to reassign (at runtime) the CPU that a VMbus channel will interrupt. This feature can be used for load balancing or other purposes, e.g. to offline a given vCPU (vCPUs with no interrupts assigned can be taken offline). Thanks, Andrea Cc: "David S. Miller" Cc: Lorenzo Pieralisi Cc: Andrew Murray Cc: Bjorn Helgaas Cc: "James E.J. Bottomley" Cc: "Martin K. Petersen" Andrea Parri (Microsoft) (11): Drivers: hv: vmbus: Always handle the VMBus messages on CPU0 Drivers: hv: vmbus: Don't bind the offer&rescind works to a specific CPU Drivers: hv: vmbus: Replace the per-CPU channel lists with a global array of channels hv_netvsc: Disable NAPI before closing the VMBus channel hv_utils: Always execute the fcopy and vss callbacks in a tasklet Drivers: hv: vmbus: Use a spin lock for synchronizing channel scheduling vs. channel removal PCI: hv: Prepare hv_compose_msi_msg() for the VMBus-channel-interrupt-to-vCPU reassignment functionality Drivers: hv: vmbus: Remove the unused HV_LOCALIZED channel affinity logic Drivers: hv: vmbus: Synchronize init_vp_index() vs. CPU hotplug Drivers: hv: vmbus: Introduce the CHANNELMSG_MODIFYCHANNEL message type scsi: storvsc: Re-init stor_chns when a channel interrupt is re-assigned drivers/hv/channel.c | 58 +++-- drivers/hv/channel_mgmt.c | 326 ++++++++++++++-------------- drivers/hv/connection.c | 58 +---- drivers/hv/hv.c | 16 +- drivers/hv/hv_fcopy.c | 2 +- drivers/hv/hv_snapshot.c | 2 +- drivers/hv/hv_trace.h | 19 ++ drivers/hv/hyperv_vmbus.h | 32 ++- drivers/hv/vmbus_drv.c | 241 ++++++++++++++++---- drivers/net/hyperv/netvsc.c | 7 +- drivers/pci/controller/pci-hyperv.c | 44 ++-- drivers/scsi/storvsc_drv.c | 95 +++++++- include/linux/hyperv.h | 51 ++--- 13 files changed, 599 insertions(+), 352 deletions(-) -- 2.24.0