From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 750ED277C96 for ; Wed, 10 Jun 2026 06:00:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781071204; cv=none; b=HvfYLRmIIqhOgth69sQh+UUb26N2DzEcWacWJMC3DdKeDdqGuWDcaawQyJaZ47cwvfyOsHmOH748ZLHoGh/Du1UDX2vCwFORS5MB84Wlwee8RgtPIKTgxY3JKe0xiS1r8AMREVJ4rvLH66iVOSaEiw6aL/RJKA16idVRoXH/tQ8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781071204; c=relaxed/simple; bh=AvZ62CJBNYf9slGn5Sv7jZnOy8sCQBSyuSuQs3KW624=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=Qcxo1vAQgh8LguD4+xI0lmVorylI/LvSOjQ2qtdWVAaJ9Vi1h0uLI5czavHdz8fjb1TajZ1UFHNOoItIpdnQhS6fLNBC1s+7s75vR1xfeRcRvwbZJpt70WPTx0ZrvQZ21slz7NPX0zDiXCgmK897uP9ZH8zgn9M32WEZPORV26o= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=EjMwLqYu; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="EjMwLqYu" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-490be29c1c5so80308265e9.2 for ; Tue, 09 Jun 2026 23:00:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1781071201; x=1781676001; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=0eeq4qUemue69ATVH9Hc0G+s1EX6SM4VcPKiJpjYoUk=; b=EjMwLqYujTxy+YSxoLHsRyOYOX4r/EAZp2/ifXHXTJoJpf9tpEOLpOI6D7kbGzidhm qLO79IlI7HlqlCK2gjE/c/4YJ1nTaFIu84/098dMgwpBwJeE6ErYxbhVjJIN+z8Sdkq6 tG02njeUzYHi+UzF2x88M8Cj2tCrV/CvpscLRDBurC7eykEDaT6soboaQvvNGgsbgH1w cbhQPAhnngBmAjWFoXiD/UAP3F2fTRPvDToqhbNLmRvaotOirJ2RIJwGNcKaGni4Vzom AdDC11mPMOHY5fCA3RWHyUtXOlaKEZdxwYYX0zhLUJRpYxe9G5r2KsqOMbSpkoEVSioS 8M4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781071201; x=1781676001; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=0eeq4qUemue69ATVH9Hc0G+s1EX6SM4VcPKiJpjYoUk=; b=Xb+kcva0LSdbMRr9dQiprF0iQX5GPpO/G+vvO1FVoyenBC0KS3AUQa7xxcMkUkUS6y vsvIkhbWL6vFKWwPkpPt6VkJ9scXbrgME9ryotcChuJx4jN7oDpCF6GGq1pU1261ym56 QRYMOA162RFChRkQIJhn1MTLIYivKCBjkfiAZiYGwFoTFJnGIjVf39kIQQT2X0R18+jT O0TyX7Y/pr4dDleT2bNihkribvHqFNv+YrMBuy0nTrun9TcV6igOJufobRG/GBQlsSYu ek1Ol73GQaTv/SxKxREWo6gkFcMFtGFL1oNf+V6lS3N8J03FWtyV85GpowBGKjy0s+cK oMJQ== X-Forwarded-Encrypted: i=1; AFNElJ82Qwz/9k+ERQ/wENakJecEg6DVJkEKUkG44AVE7Aisxkv9CR3U3OigYEstyZ2j0aXeYfSFJcSQpseiIQ==@vger.kernel.org X-Gm-Message-State: AOJu0Yw42eNE6HwOFpxl997DBQBaWRxA/W6Gn4zUEne7HdI5JBF9RwpW GjJsRyvuZStLb7bRMz66qkcRshvxVLWljWCldAuxjpCxu8kddDmgV2H5Iz/hzB1lvmw= X-Gm-Gg: Acq92OHTVu5Lwg2ZinITV+3HyJjMj641NjLNGN21c1qRrIwQTD2z6fPOYXjrNlWbUSv 0tjWM3ObbRMObiJ0JwgGK3Mtz8Dnwduwz3fiBvVx8J+1kzNCV77dynWw9bq8ZxvDarBBWVLafqp T+Jw0Hr2OQD7aW0b05XX3tj1zdxumdI4zXe083fwALKqXGthhWfNJiX2E98oWsab3j5PMzD3HXz bfcYZYA7bfmcowOOIIFHI8lIbm1xaM27oay86dSfDRG04aqNIl1w3zYSDPuTkV0QO/fsXpHvTCT TE1hpk2jL3d4Vx/tLr0MxBMns7AXNDEbN9QTb7YkPR5tCc6SOkibx2JpA5ievhI4YtuaadE2brZ sHQFIAgMl/dBAPW0G6AAT2gNg6YkldHXuQve1t3in4sOBg4eUMfRisPNwiDmzz6VshkZh1Hp6RE SL1z7dq+Ti1WiAJJAVw3G6e1OJQXDCXvVI6oVKJmNb41QYywlf2YwZBiM/VyDKLg4taNn0rsU= X-Received: by 2002:a05:600c:8285:b0:490:abef:dae6 with SMTP id 5b1f17b1804b1-490c25b09bcmr392960895e9.19.1781071200857; Tue, 09 Jun 2026 23:00:00 -0700 (PDT) Received: from ?IPV6:2001:a62:1439:d001:a0af:1164:c6fd:8c51? ([2001:a62:1439:d001:a0af:1164:c6fd:8c51]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4601f35eae5sm69552212f8f.33.2026.06.09.22.59.58 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 09 Jun 2026 23:00:00 -0700 (PDT) Message-ID: Date: Wed, 10 Jun 2026 07:59:57 +0200 Precedence: bulk X-Mailing-List: linux-block@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3 2/4] scsi: host: allocate struct Scsi_Host on the NUMA node of the host adapter To: Sumit Saxena , "Martin K . Petersen" , Jens Axboe Cc: "James E . J . Bottomley" , linux-scsi@vger.kernel.org, linux-block@vger.kernel.org, Adam Radford , Khalid Aziz , Adaptec OEM Raid Solutions , Matthew Wilcox , "Juergen E . Fischer" , Russell King , linux-arm-kernel@lists.infradead.org, Finn Thain , Michael Schmitz , Anil Gurumurthy , Sudarsana Kalluru , Oliver Neukum , Ali Akcaagac , Jamie Lenehan , Ram Vegesna , target-devel@vger.kernel.org, Bradley Grove , Satish Kharat , Sesidhar Baddela , Karan Tilak Kumar , Yihang Li , Don Brace , storagedev@microchip.com, HighPoint Linux Team , Tyrel Datwyler , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , linuxppc-dev@lists.ozlabs.org, Brian King , Lee Duncan , Chris Leech , Mike Christie , open-iscsi@googlegroups.com, Justin Tee , Paul Ely , Kashyap Desai , Shivasharan S , Chandrakanth Patil , megaraidlinux.pdl@broadcom.com, Sathya Prakash Veerichetty , Sreekanth Reddy , mpi3mr-linuxdrv.pdl@broadcom.com, Suganath Prabu Subramani , Ranjan Kumar , MPT-FusionLinux.pdl@broadcom.com, Daniel Palmer , GOTO Masanori , YOKOTA Hiroshi , Jack Wang , Geoff Levand , Michael Reed , Nilesh Javali , GR-QLogic-Storage-Upstream@marvell.com, Narsimhulu Musini , "K . Y . Srinivasan" , Haiyang Zhang , Wei Liu , Dexuan Cui , Long Li , linux-hyperv@vger.kernel.org, "Michael S . Tsirkin" , Jason Wang , Paolo Bonzini , Stefan Hajnoczi , Eugenio Perez , virtualization@lists.linux.dev, Vishal Bhakta , bcm-kernel-feedback-list@broadcom.com, Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , xen-devel@lists.xenproject.org, John Garry References: <20260609121806.2121755-1-sumit.saxena@broadcom.com> <20260609121806.2121755-3-sumit.saxena@broadcom.com> Content-Language: en-US From: Hannes Reinecke In-Reply-To: <20260609121806.2121755-3-sumit.saxena@broadcom.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 6/9/26 14:18, Sumit Saxena wrote: > scsi_host_alloc() used kzalloc(), which always picks an arbitrary node. > Extend the function to accept a 'struct device *dev' parameter and use > kzalloc_node() with dev_to_node(dev) so the Scsi_Host struct lands on > the same NUMA node as the HBA, mirroring the treatment already applied > to struct scsi_device, struct scsi_target, and shost_data. > > When dev is NULL (legacy ISA/platform drivers without a dma_dev) the > allocation falls back to NUMA_NO_NODE, preserving existing behaviour. > > Update all in-tree callers: > - PCI-based HBA drivers pass &pdev->dev (or the equivalent struct > member such as &phba->pcidev->dev, &h->pdev->dev, &ha->pdev->dev) > so their host struct is placed on the adapter's node. > - Non-PCI drivers (ISA, Amiga, ARM PCMCIA, virtio, Hyper-V, PS3, …) > pass NULL. > - libfc's libfc_host_alloc() inline helper passes NULL; FC drivers > that want NUMA awareness can open-code the call with their pdev. > > Suggested-by: John Garry > Signed-off-by: Sumit Saxena > --- > drivers/scsi/3w-9xxx.c | 2 +- > drivers/scsi/3w-sas.c | 2 +- > drivers/scsi/3w-xxxx.c | 2 +- > drivers/scsi/53c700.c | 2 +- > drivers/scsi/BusLogic.c | 2 +- > drivers/scsi/a100u2w.c | 2 +- > drivers/scsi/a2091.c | 2 +- > drivers/scsi/a3000.c | 2 +- > drivers/scsi/aacraid/linit.c | 2 +- > drivers/scsi/advansys.c | 6 +++--- > drivers/scsi/aha152x.c | 2 +- > drivers/scsi/aha1542.c | 2 +- > drivers/scsi/aha1740.c | 2 +- > drivers/scsi/aic7xxx/aic79xx_osm.c | 2 +- > drivers/scsi/aic7xxx/aic7xxx_osm.c | 2 +- > drivers/scsi/aic94xx/aic94xx_init.c | 2 +- > drivers/scsi/am53c974.c | 2 +- > drivers/scsi/arcmsr/arcmsr_hba.c | 3 ++- > drivers/scsi/arm/acornscsi.c | 2 +- > drivers/scsi/arm/arxescsi.c | 2 +- > drivers/scsi/arm/cumana_1.c | 2 +- > drivers/scsi/arm/cumana_2.c | 2 +- > drivers/scsi/arm/eesox.c | 2 +- > drivers/scsi/arm/oak.c | 2 +- > drivers/scsi/arm/powertec.c | 2 +- > drivers/scsi/atari_scsi.c | 2 +- > drivers/scsi/atp870u.c | 2 +- > drivers/scsi/bfa/bfad_im.c | 2 +- > drivers/scsi/csiostor/csio_init.c | 4 ++-- > drivers/scsi/dc395x.c | 2 +- > drivers/scsi/dmx3191d.c | 2 +- > drivers/scsi/elx/efct/efct_xport.c | 4 ++-- > drivers/scsi/esas2r/esas2r_main.c | 2 +- > drivers/scsi/fdomain.c | 2 +- > drivers/scsi/fnic/fnic_main.c | 2 +- > drivers/scsi/g_NCR5380.c | 2 +- > drivers/scsi/gvp11.c | 2 +- > drivers/scsi/hisi_sas/hisi_sas_main.c | 2 +- > drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 2 +- > drivers/scsi/hosts.c | 6 ++++-- > drivers/scsi/hpsa.c | 2 +- > drivers/scsi/hptiop.c | 2 +- > drivers/scsi/ibmvscsi/ibmvfc.c | 2 +- > drivers/scsi/ibmvscsi/ibmvscsi.c | 2 +- > drivers/scsi/imm.c | 2 +- > drivers/scsi/initio.c | 2 +- > drivers/scsi/ipr.c | 2 +- > drivers/scsi/ips.c | 2 +- > drivers/scsi/isci/init.c | 2 +- > drivers/scsi/jazz_esp.c | 2 +- > drivers/scsi/libiscsi.c | 2 +- > drivers/scsi/lpfc/lpfc_init.c | 2 +- > drivers/scsi/mac53c94.c | 2 +- > drivers/scsi/mac_esp.c | 2 +- > drivers/scsi/mac_scsi.c | 2 +- > drivers/scsi/megaraid.c | 2 +- > drivers/scsi/megaraid/megaraid_mbox.c | 2 +- > drivers/scsi/megaraid/megaraid_sas_base.c | 2 +- > drivers/scsi/mesh.c | 2 +- > drivers/scsi/mpi3mr/mpi3mr_os.c | 2 +- > drivers/scsi/mpt3sas/mpt3sas_scsih.c | 4 ++-- > drivers/scsi/mvme147.c | 2 +- > drivers/scsi/mvsas/mv_init.c | 2 +- > drivers/scsi/mvumi.c | 2 +- > drivers/scsi/myrb.c | 2 +- > drivers/scsi/myrs.c | 2 +- > drivers/scsi/ncr53c8xx.c | 2 +- > drivers/scsi/nsp32.c | 2 +- > drivers/scsi/pcmcia/nsp_cs.c | 2 +- > drivers/scsi/pcmcia/qlogic_stub.c | 2 +- > drivers/scsi/pcmcia/sym53c500_cs.c | 2 +- > drivers/scsi/pm8001/pm8001_init.c | 2 +- > drivers/scsi/pmcraid.c | 2 +- > drivers/scsi/ppa.c | 2 +- > drivers/scsi/ps3rom.c | 2 +- > drivers/scsi/qla1280.c | 2 +- > drivers/scsi/qla2xxx/qla_mid.c | 2 +- > drivers/scsi/qla2xxx/qla_os.c | 2 +- > drivers/scsi/qlogicfas.c | 2 +- > drivers/scsi/qlogicpti.c | 2 +- > drivers/scsi/scsi_debug.c | 2 +- > drivers/scsi/sgiwd93.c | 2 +- > drivers/scsi/smartpqi/smartpqi_init.c | 2 +- > drivers/scsi/snic/snic_main.c | 2 +- > drivers/scsi/stex.c | 2 +- > drivers/scsi/storvsc_drv.c | 2 +- > drivers/scsi/sun3_scsi.c | 2 +- > drivers/scsi/sun3x_esp.c | 2 +- > drivers/scsi/sun_esp.c | 2 +- > drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +- > drivers/scsi/virtio_scsi.c | 2 +- > drivers/scsi/vmw_pvscsi.c | 2 +- > drivers/scsi/wd719x.c | 2 +- > drivers/scsi/xen-scsifront.c | 2 +- > drivers/scsi/zorro_esp.c | 2 +- > include/scsi/libfc.h | 2 +- > include/scsi/scsi_host.h | 3 ++- > 97 files changed, 107 insertions(+), 103 deletions(-) > Quite a lot of churn for such a (relatively) simple change. I think it might be better to introduce a new function (scsi_host_alloc_node() ?) with the additional parameter, and make scsi_host_alloc() a wrapper around that. That will reduce the size of this patch immensely. Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.com +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich