From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 833B9C2BA17 for ; Mon, 6 Apr 2020 00:16:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 4C5042068E for ; Mon, 6 Apr 2020 00:16:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="TXrwlpTl" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727742AbgDFAQg (ORCPT ); Sun, 5 Apr 2020 20:16:36 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:44946 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727254AbgDFAQg (ORCPT ); Sun, 5 Apr 2020 20:16:36 -0400 Received: by mail-wr1-f66.google.com with SMTP id m17so15284463wrw.11; Sun, 05 Apr 2020 17:16:35 -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=ilLIZZY1ZTef+uy+Q7pfKbP5pegyvZMVI25fKVDA1p0=; b=TXrwlpTlaPpc2Y+d7kJaMaxhnHhTDv7UubglkvvMdxhoHLU6mX2fEJhex9PzTWb3Lh wiOwPTITEZR2g0y1IB/k08ycYjqhPVQY+XqgKq7TMI49gZw8udF41A3mZZMfeJnV2tN4 sEkQsoCdilkCsRuQUl2/wcpM96caYZXiMLTThUqOM1i8Ap1kM6cW/N3zPVfM0GJ6nP7k WStAZyUYVi+K560H4dWAKV7f/kPaCYGRdD7/5cHrQMx6DMUevlI6eDQpbaYNR03LiORv mdlrK0fj4vG47pt+AXiEvhdPy6j5zJ2hlqvEYhcYCnW87Pt/z0Bjd82qnWY7BcZyw3Jo qqzQ== 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=ilLIZZY1ZTef+uy+Q7pfKbP5pegyvZMVI25fKVDA1p0=; b=MvhZ4QByH7yURGz6a64RmAXkvmIzjwwB8KeQ2HBnyMVr15Com5eyCCMPP3QfIkGP7i 7zcwg2/lcqncEgbduuItKSqkg4Pz/3dupLBMvig0F5DwYill7LgiXTuk0LOu0NEGCMKo InglyKgby1ojDRdGYQCdBjvAI2Y0J7dfBMgtXVpzBrgvzPBWSylJVIWEjoebXm16Frkh /alRBCB2RHEYjmiVZeUClgWyffQunC5JXPbOZr7WijOzvLpFdHpiph/tuqgBWjhMNMeL zg5dt0Jm+xyov3AWRFXT5oq2skccAmFbb3q3TMfqcBWwRmzKHvbXAmjFYqYPXZTRkMut AqCQ== X-Gm-Message-State: AGi0PuZjeGc7LQwfx9QD5t1aIbwirI68BhPD3VMT7eWLI6PJtgezgxHC b1W+sw2oeDRjwMOHTOWHzxlCbryGR8m+Qg== X-Google-Smtp-Source: APiQypLNJ1X/3/73bJYhaIgJorgfuSgNQqL/G8ATwZmq09esJO03yj9NOUF/DNacYHVuIlEVK4YCbw== X-Received: by 2002:adf:fdc6:: with SMTP id i6mr21491009wrs.252.1586132193213; Sun, 05 Apr 2020 17:16:33 -0700 (PDT) Received: from andrea.corp.microsoft.com ([86.61.236.197]) by smtp.gmail.com with ESMTPSA id j9sm817432wrn.59.2020.04.05.17.16.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Apr 2020 17:16:32 -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: [PATCH 00/11] VMBus channel interrupt reassignment Date: Mon, 6 Apr 2020 02:15:03 +0200 Message-Id: <20200406001514.19876-1-parri.andrea@gmail.com> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-hyperv-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-hyperv@vger.kernel.org Hi all, This is a follow-up on the RFC submission [1]. The series introduces changes in the VMBus drivers to reassign the CPU that a VMbus channel will interrupt. This feature can be used for load balancing or other purposes (e.g. CPU offlining). The submission integrates feedback in the RFC to amend the handling of the 'array of channels' (patch #3). Thanks, Andrea [1] https://lkml.kernel.org/r/20200325225505.23998-1-parri.andrea@gmail.com 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 | 347 +++++++++++++++------------- 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, 620 insertions(+), 352 deletions(-) -- 2.24.0