All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vipin Sharma <vipinsh@google.com>
To: Zhu Yanjun <yanjun.zhu@linux.dev>
Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
	 linux-doc@vger.kernel.org, kvm@vger.kernel.org,
	linux-mm@kvack.org,  linux-kselftest@vger.kernel.org,
	ajayachandra@nvidia.com, alex@shazbot.org, amastro@fb.com,
	 ankita@nvidia.com, apopple@nvidia.com, bhelgaas@google.com,
	chrisl@kernel.org,  christian.koenig@amd.com, corbet@lwn.net,
	dmatlack@google.com, graf@amazon.com,
	 jacob.pan@linux.microsoft.com, jgg@nvidia.com, jgg@ziepe.ca,
	jrhilke@google.com,  julianr@linux.ibm.com, kees@kernel.org,
	kevin.tian@intel.com, leon@kernel.org,  leonro@nvidia.com,
	lukas@wunner.de, mattev@meta.com, michal.winiarski@intel.com,
	 parav@nvidia.com, pasha.tatashin@soleen.com, praan@google.com,
	pratyush@kernel.org,  rananta@google.com, rientjes@google.com,
	rodrigo.vivi@intel.com, rppt@kernel.org,  saeedm@nvidia.com,
	schnelle@linux.ibm.com, skhan@linuxfoundation.org,
	 skhawaja@google.com, vivek.kasireddy@intel.com, witu@nvidia.com,
	yi.l.liu@intel.com
Subject: Re: [PATCH v5 17/20] vfio: selftests: Add vfio_pci_liveupdate_kexec_test
Date: Mon, 27 Jul 2026 22:34:54 -0700	[thread overview]
Message-ID: <20260728052011.GA736369.vipinsh@google.com> (raw)
In-Reply-To: <c3440ed3-0fc2-44e5-a05a-922344eb34d1@linux.dev>

On Sun, Jul 26, 2026 at 05:40:54PM -0700, Zhu Yanjun wrote:
> 
> 在 2026/7/14 8:15, Vipin Sharma 写道:
> > Add a selftest to exercise preserving a vfio-pci device across a Live
> > Update. For now the test is extremely simple and just verifies that the
> > device file can be preserved and retrieved. In the future this test will
> > be extended to verify more parts about device preservation as they are
> > implemented.
> > 
> > This test is added to TEST_GEN_PROGS_EXTENDED since it must be run
> > manually along with a kexec.
> > 
> > To run this test manually:
> > 
> >   $ tools/testing/selftests/vfio/scripts/setup.sh 0000:00:04.0
> >   $ tools/testing/selftests/vfio/vfio_pci_liveupdate_kexec_test --stage 1 0000:00:04.0
> # ls /dev
> autofs           disk       iommu         mem     rtc0      tty10 tty21 
> tty32  tty43  tty54  tty8    ttyS18  ttyS29   uinput  vcs6   vcsu4       
> virtio-ports
> block            dma_heap   kmsg          mqueue  sg0       tty11 tty22 
> tty33  tty44  tty55  tty9    ttyS19  ttyS3    urandom vcsa   vcsu5       
> vport2p1
> bsg              dri        kvm           net     shm       tty12 tty23 
> tty34  tty45  tty56  ttyS0   ttyS2   ttyS30   usbmon0 vcsa1  vcsu6       
> vsock
> btrfs-control    fd         liveupdate    null    snapshot  tty13 tty24 
> tty35  tty46  tty57  ttyS1   ttyS20  ttyS31   usbmon1 vcsa2  vda         
> watchdog
> bus              full       log           nvram   snd       tty14 tty25 
> tty36  tty47  tty58  ttyS10  ttyS21  ttyS4    usbmon2 vcsa3  vda1       
>  watchdog0
> cdrom            fuse       loop-control  port    sr0       tty15 tty26 
> tty37  tty48  tty59  ttyS11  ttyS22  ttyS5    userfaultfd vcsa4  vda2       
>  zero
> char             hidraw0    lp0           ppp     stderr    tty16 tty27 
> tty38  tty49  tty6   ttyS12  ttyS23  ttyS6    vcs vcsa5  vda3         zram0
> console          hpet       lp1           ptmx    stdin     tty17 tty28 
> tty39  tty5   tty60  ttyS13  ttyS24  ttyS7    vcs1  vcsa6  vfio
> core             hugepages  lp2           pts     stdout    tty18 tty29 
> tty4   tty50  tty61  ttyS14  ttyS25  ttyS8    vcs2  vcsu   vga_arbiter
> cpu              hwrng      lp3           random  tty       tty19 tty3 
>  tty40  tty51  tty62  ttyS15  ttyS26  ttyS9    vcs3  vcsu1  vhci
> cpu_dma_latency  i2c-0      mapper        rfkill  tty0      tty2  tty30 
> tty41  tty52  tty63  ttyS16  ttyS27  udmabuf  vcs4  vcsu2  vhost-net
> cuse             input      mcelog        rtc     tty1      tty20 tty31 
> tty42  tty53  tty7   ttyS17  ttyS28  uhid     vcs5  vcsu3  vhost-vsock
> 
> 
> # tools/testing/selftests/vfio/scripts/setup.sh 0000:00:08.0
> 
> + echo "vfio-pci" > /sys/bus/pci/devices/0000:00:08.0/driver_override
> + echo "0000:00:08.0" > /sys/bus/pci/drivers/vfio-pci/bind
> tools/testing/selftests/vfio/scripts/lib.sh: line 9: echo: write error:
> Invalid argument    <--- the error is here.
> 
> 
> # lspci -vvv -s 0000:00:08.0
> 
> 00:08.0 Unclassified device [00ff]: Red Hat, Inc. QEMU PCI Test Device
>         Subsystem: Red Hat, Inc. QEMU Virtual Machine
>         Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR+ FastB2B- DisINTx-
>         Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
>         Region 0: Memory at fea1f000 (32-bit, non-prefetchable) [size=4K]
>         Region 1: I/O ports at c000 [size=256]
> 
> Hi, Vipin
> 
> I worked with QEMU PCI Test Device. But the following error occur.
> 
> "tools/testing/selftests/vfio/scripts/lib.sh: line 9: echo: write error:
> Invalid argument"
> 
> Is this a known problem?
> 

Can you please check if you have passed iommu device in your QEMU
command? This is what I pass to my QEMU command

 -device intel-iommu,intremap=on,caching-mode=on,device-iotlb=on

Also, add the following to your guest kernel commandline

 intel_iommu=on

This should fix the issue you are seeing.

Alternatively, you can also enable noiommu mode in VFIO by executing:

  echo Y > /sys/module/vfio/parameters/enable_unsafe_noiommu_mode 

This should allow device to be bound to VFIO.

If none of the above approach works can you please share your QEMU
command and your guest VM /proc/cmdline.

Thanks
Vipin


  reply	other threads:[~2026-07-28  5:35 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-14 15:14 [PATCH v5 00/20] vfio/pci: Base Live Update support for VFIO Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 01/20] vfio/pci: Factor out the reset logic in VFIO PCI device close path Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 02/20] vfio: Export various helpers from VFIO Vipin Sharma
2026-07-14 15:30   ` sashiko-bot
2026-07-20 17:31     ` Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 03/20] vfio/pci: Export vfio_pci_dma_buf_move for vfio-pci module Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 04/20] liveupdate: Export symbols needed by modules Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 05/20] vfio/pci: Register a file handler with Live Update Orchestrator Vipin Sharma
2026-07-14 15:28   ` sashiko-bot
2026-07-20 17:46     ` Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 06/20] vfio/pci: Preserve vfio-pci device files across Live Update Vipin Sharma
2026-07-14 15:36   ` sashiko-bot
2026-07-20 18:08     ` Vipin Sharma
2026-07-21 23:16   ` Josh Hilke
2026-07-23 21:55     ` Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 07/20] vfio: Introduce vfio_find_device() helper Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 08/20] vfio: Refactor vfio_device_fops_cdev_open() Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 09/20] vfio: Add API to open cdev device for Live Update restore Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 10/20] vfio/pci: Retrieve preserved device files after Live Update Vipin Sharma
2026-07-21 16:23   ` Josh Hilke
2026-07-14 15:14 ` [PATCH v5 11/20] vfio: Enforce preserved devices are retrieved via LIVEUPDATE_SESSION_RETRIEVE_FD Vipin Sharma
2026-07-14 15:28   ` sashiko-bot
2026-07-20 18:09     ` Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 12/20] docs: liveupdate: Add documentation for VFIO PCI Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 13/20] vfio: selftests: Build liveupdate library in VFIO selftests Vipin Sharma
2026-07-14 15:20   ` sashiko-bot
2026-07-20 18:11     ` Vipin Sharma
2026-07-14 15:14 ` [PATCH v5 14/20] vfio: selftests: Add vfio_pci_liveupdate_uapi_test Vipin Sharma
2026-07-14 15:44   ` sashiko-bot
2026-07-20 18:12     ` Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 15/20] vfio: selftests: Initialize vfio_pci_device using a VFIO cdev FD Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 16/20] vfio: selftests: Add Makefile support for TEST_GEN_PROGS_EXTENDED Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 17/20] vfio: selftests: Add vfio_pci_liveupdate_kexec_test Vipin Sharma
2026-07-14 15:35   ` sashiko-bot
2026-07-20 18:14     ` Vipin Sharma
2026-07-27  0:40   ` Zhu Yanjun
2026-07-28  5:34     ` Vipin Sharma [this message]
2026-07-14 15:15 ` [PATCH v5 18/20] vfio: selftests: Expose iommu_modes to tests Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 19/20] vfio: selftests: Verify that opening VFIO device fails during Live Update Vipin Sharma
2026-07-14 15:42   ` sashiko-bot
2026-07-20 18:28     ` Vipin Sharma
2026-07-14 15:15 ` [PATCH v5 20/20] vfio: selftests: Add continuous DMA to vfio_pci_liveupdate_kexec_test Vipin Sharma
2026-07-14 15:37   ` sashiko-bot
2026-07-20 18:33     ` Vipin Sharma
2026-07-16 23:24 ` [PATCH v5 00/20] vfio/pci: Base Live Update support for VFIO Yanjun.Zhu
2026-07-17  1:22   ` Yanjun.Zhu
2026-07-20 17:08     ` Vipin Sharma
2026-07-23 22:18       ` Yanjun.Zhu
2026-07-23 23:01         ` Vipin Sharma
2026-07-23 22:58 ` Vipin Sharma

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260728052011.GA736369.vipinsh@google.com \
    --to=vipinsh@google.com \
    --cc=ajayachandra@nvidia.com \
    --cc=alex@shazbot.org \
    --cc=amastro@fb.com \
    --cc=ankita@nvidia.com \
    --cc=apopple@nvidia.com \
    --cc=bhelgaas@google.com \
    --cc=chrisl@kernel.org \
    --cc=christian.koenig@amd.com \
    --cc=corbet@lwn.net \
    --cc=dmatlack@google.com \
    --cc=graf@amazon.com \
    --cc=jacob.pan@linux.microsoft.com \
    --cc=jgg@nvidia.com \
    --cc=jgg@ziepe.ca \
    --cc=jrhilke@google.com \
    --cc=julianr@linux.ibm.com \
    --cc=kees@kernel.org \
    --cc=kevin.tian@intel.com \
    --cc=kexec@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=leon@kernel.org \
    --cc=leonro@nvidia.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lukas@wunner.de \
    --cc=mattev@meta.com \
    --cc=michal.winiarski@intel.com \
    --cc=parav@nvidia.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=praan@google.com \
    --cc=pratyush@kernel.org \
    --cc=rananta@google.com \
    --cc=rientjes@google.com \
    --cc=rodrigo.vivi@intel.com \
    --cc=rppt@kernel.org \
    --cc=saeedm@nvidia.com \
    --cc=schnelle@linux.ibm.com \
    --cc=skhan@linuxfoundation.org \
    --cc=skhawaja@google.com \
    --cc=vivek.kasireddy@intel.com \
    --cc=witu@nvidia.com \
    --cc=yanjun.zhu@linux.dev \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.