Received: by 2002:a25:6193:0:0:0:0:0 with SMTP id v141csp2809898ybb; Sun, 5 Apr 2020 17:34:08 -0700 (PDT) X-Google-Smtp-Source: APiQypJh3Om4bxSr3gDYdacwz5clzUyBzN/QejS6WyCHmCW5Xf/umjjqUMHJuGAi9XKj64uUcWMK X-Received: by 2002:a4a:e495:: with SMTP id s21mr15542998oov.79.1586133248112; Sun, 05 Apr 2020 17:34:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1586133248; cv=none; d=google.com; s=arc-20160816; b=nJxSutbbNpNwS7yPq7c8DkFUJypLswj3KwU+bV8d+gNx2YCh3uQooUMS4fbLXimPMp xAHAUWqio3Ufu55rsz1txverH4aRYgFxzpsYdX5sv2ucuhTiPe2aLXFsUfTh7hRDrffk Uq7598mhXkQ1x+I+5CtcEcmK3XAxkSE1neEF1wh+tHGZCsnAGV3HDkkKVSwsgFgL4jm5 W6xOUV1MHnK/GOu7Rdcoy+Ejsm3iCGRDAiBuQ3myfmmKSFesMGPx72Lx/wisRqafXvSH vcSpb8XI/FGSYILDfN31Ve+AE5BtsleYrAQQ8JnWvMqJNuryo7GdjfvsCURFliDgGz5p DiuA== 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=ilLIZZY1ZTef+uy+Q7pfKbP5pegyvZMVI25fKVDA1p0=; b=UDHEpX1jFfYLiI+VZS4MsnoXzBYglZ3oSm53yAhYOz7W2IdJuwm0EjxWWv+jGtcVzY v6cr73nV3oVAmBl1w6iT7okSq5yxxn1B8TFp2CL1rcXcewneZtYIBPNSZhUVpSxRj8Px d93CyB4DkEZ0O51Uz4N+JuxG3ytxtY9guBxIL3khO7DrL5GsWB2QPQwxTUr7cqY+d//B zEqjm9m+hBHvf3LIhv8AXq62Itx7rvVFpUXI2N7zN+PMvL0cvpb8+398UAn8TpgFE3Q0 XXeVz1eZsv2WNM3pHNlANUfEbhIHBScuYG7nUzJFMSySKgjDDmfAoWlSpXAvrnNuO/xC jvqw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=TXrwlpTl; 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 j15si7366077ots.187.2020.04.05.17.33.39; Sun, 05 Apr 2020 17:34:08 -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=TXrwlpTl; 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 S1727910AbgDFAQg (ORCPT + 99 others); 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-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-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@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