All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Williamson <alex@shazbot.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: David Matlack <dmatlack@google.com>,
	Fuad Tabba <fuad.tabba@linux.dev>,
	Joey Gouly <joey.gouly@arm.com>,
	kvm@vger.kernel.org, kvmarm@lists.linux.dev,
	Leon Romanovsky <leon@kernel.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-kselftest@vger.kernel.org, linux-rdma@vger.kernel.org,
	Marc Zyngier <maz@kernel.org>, Mark Bloch <mbloch@nvidia.com>,
	netdev@vger.kernel.org, Oliver Upton <oupton@kernel.org>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Saeed Mahameed <saeedm@nvidia.com>,
	Sean Christopherson <seanjc@google.com>,
	Steffen Eiden <seiden@linux.ibm.com>,
	Shuah Khan <shuah@kernel.org>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Tariq Toukan <tariqt@nvidia.com>,
	Zenghui Yu <yuzenghui@huawei.com>,
	patches@lists.linux.dev, alex@shazbot.org
Subject: Re: [PATCH v7 00/10] mlx5 support for VFIO self test
Date: Mon, 28 Sep 2026 16:28:38 -0600	[thread overview]
Message-ID: <20260928162838.44dc6abb@shazbot.org> (raw)
In-Reply-To: <0-v7-c6d30e8ce1e4+3dfa6-mlx5st_jgg@nvidia.com>

On Mon, 21 Sep 2026 19:35:40 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:

> Add an mlx5 driver to VFIO self test. This is largely a remix of the
> existing VFIO mlx5 driver in rdma-core. It uses an RDMA loopback QP
> to issue RDMA WRITE operations which effectively perform memory
> copies using DMA. Since mlx5 has a stable programming ABI this
> should work on devices from CX5 to current HW. The device FW must
> support the QP loopback configuration.
> 
> Also support send_msi by arming completion events of the RDMA WRITE
> to trigger MSI delivery.
> 
> mlx5 device startup is very complex and most of this code is just
> booting the device, with a smaller amount for operating the QP.
> 
> This entire series was coded by Claude Code in about 4 days. It
> used about 4.5M output tokens, 30 individual sessions and 5600 lines
> of AI-generated .md files. I spent an annoying amount of time
> de-slopping and cleaning its work product to make it presentable.
> However, previous VFIO drivers have taken on the order of 1-2
> months to write, so getting one in a week is pretty remarkable.
> 
> For those interested, the flow I used was broadly a prompt sequence
> sort of like:
> 
>  - Hey Claude, go look at the falcon series, VFIO self test, the
>    mlx5 driver, rdma-core and some PDF documentation and make a
>    plan to put mlx5 under the selftest.
>  - Write an rdma-core application using the built-in VFIO provider
>    that can do the required memcpy operations that vfio selftests
>    wants.
>    (This resulted in a 1k loc C file that compiled and ran the
>     first time but had a few bugs related to device programming
>     that the AI resolved.)
>  - Replace the rdma-core components with open-coded versions to
>    create a fully stand-alone program that does the DMA memcpy.
>  - Review and audit the thing.
>  [Pause and de-slop it]
>  - Make it work on a PF too (this is surprisingly hard!).
>  [Move to a kernel tree and copy all the .md files and .c program
>   it made]
>  - Hey Claude, look at all this stuff and make a broad plan to
>    actually build a VFIO self test.
>  - Here is my 1 sentence advice on what each patch should look
>    like, make a detailed plan to make a patch for every one.
>  [Pause and polish the patch plans]
>  - Execute plan X then commit it [pause and de-slop each patch,
>    repeat].
>  [Review and final polish]
> eeb2cc76b0b4
> v7:
>  - Fix some compilation problems, kvm and the igb

Applied to vfio next branch for v7.4.  Topic branch published as
mlx5-vfio-selftest-v7[1] for conflict management.  Thanks,

Alex

[1]https://github.com/awilliam/linux-vfio.git mlx5-vfio-selftest-v7

      parent reply	other threads:[~2026-09-28 22:28 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-21 22:35 [PATCH v7 00/10] mlx5 support for VFIO self test Jason Gunthorpe
2026-09-21 22:35 ` [PATCH v7 01/10] net/mlx5: Add IFC structures for CQE and WQE Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-28 19:21   ` Leon Romanovsky
2026-09-21 22:35 ` [PATCH v7 02/10] net/mlx5: Move HW constant groups from device.h/cq.h to mlx5_ifc.h Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-28 19:21   ` Leon Romanovsky
2026-09-21 22:35 ` [PATCH v7 03/10] net/mlx5: Extract MLX5_SET/GET macros into mlx5_ifc_macros.h Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-28 19:22   ` Leon Romanovsky
2026-09-21 22:35 ` [PATCH v7 04/10] net/mlx5: Add ONCE and MMIO accessor variants to mlx5_ifc_macros.h Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-28 19:24   ` Leon Romanovsky
2026-09-21 22:35 ` [PATCH v7 05/10] selftests: Add additional kernel functions to tools/include/ Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-21 22:35 ` [PATCH v7 06/10] vfio: selftests: Allow drivers to specify required region size Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-23 18:26   ` David Matlack
2026-09-23 22:42   ` Sean Christopherson
2026-09-21 22:35 ` [PATCH v7 07/10] vfio: selftests: Add dev_dbg Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-21 22:35 ` [PATCH v7 08/10] vfio: selftests: Add mlx5 driver - HW init and command interface Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-21 22:35 ` [PATCH v7 09/10] vfio: selftests: Add mlx5 driver - data path and memcpy ops Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-21 22:35 ` [PATCH v7 10/10] vfio: selftests: mlx5 driver - add send_msi support Jason Gunthorpe
2026-09-22 22:38   ` sashiko-bot
2026-09-23 18:30 ` [PATCH v7 00/10] mlx5 support for VFIO self test David Matlack
2026-09-24 12:56 ` Alex Williamson
2026-09-28 22:28 ` Alex Williamson [this message]

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=20260928162838.44dc6abb@shazbot.org \
    --to=alex@shazbot.org \
    --cc=dmatlack@google.com \
    --cc=fuad.tabba@linux.dev \
    --cc=jgg@nvidia.com \
    --cc=joey.gouly@arm.com \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=leon@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=maz@kernel.org \
    --cc=mbloch@nvidia.com \
    --cc=netdev@vger.kernel.org \
    --cc=oupton@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=saeedm@nvidia.com \
    --cc=seanjc@google.com \
    --cc=seiden@linux.ibm.com \
    --cc=shuah@kernel.org \
    --cc=suzuki.poulose@arm.com \
    --cc=tariqt@nvidia.com \
    --cc=yuzenghui@huawei.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.