On Wed, Dec 18, 2024 at 04:48:38PM +0100, Sebastian Andrzej Siewior wrote: > On 2024-12-18 08:36:54 [-0700], Keith Busch wrote: > > On Wed, Dec 18, 2024 at 08:59:51PM +0900, Ryo Takakura wrote: > > > PCI config access is locked with pci_lock which serializes > > > pci_user/bus_write_config*() and pci_user/bus_read_config*(). > > > The subsequently invoked vmd_pci_write() and vmd_pci_read() are also > > > serialized as they are only invoked by them respectively. > > > > > > Remove cfg_lock which is taken by vmd_pci_write() and vmd_pci_read() > > > for their serialization as its already serialized by pci_lock. > > > > That's only true if CONFIG_PCI_LOCKLESS_CONFIG isn't set, so pci_lock > > won't help with concurrent kernel config access in such a setup. I think > > the previous change to raw lock proposal was the correct approach. > > I overlooked that. Wouldn't it make sense to let the vmd driver select > that option rather than adding/ having a lock for the same purpose? The arch/x86/Kconfig always selects PCI_LOCKESS_CONFIG, so I don't think the vmd driver can require it be turned off. Besides, no need to punish all PCI access if only this device requires it be serialized.