On 9/15/26 09:20, Leon Romanovsky wrote: > On Mon, Sep 14, 2026 at 01:13:36PM +0100, Matt Evans wrote: >> Hi Leon, >> >> On 14/09/2026 12:54, Leon Romanovsky wrote: >>> On Mon, Sep 14, 2026 at 08:36:47AM -0300, Jason Gunthorpe wrote: >>>> On Sun, Sep 13, 2026 at 07:52:44PM +0300, Leon Romanovsky wrote: >>>>> On Fri, Sep 11, 2026 at 10:41:57PM +0100, Matt Evans wrote: >>>>>> Expand the VFIO DMABUF revocation state to three states: >>>>>> Not revoked, temporarily revoked, and permanently revoked. >>>>> >>>>> The thing is that "temporarily revoked" is actually the standard >>>>> invalidate_mappings/move_notify mechanism of DMABUF, which wasn't good >>>>> for VFIO. >>>> >>>> I think temporarily revokes here means it is revoked from a dmabuf >>>> perspective >>> >>> My guess is that this is more of a "change owner" operation than a >>> revoke operation. >>> >>> The main issue here is that we have to guess the semantics instead of >>> having a properly named and documented operation. >> >> Apologies if the cover letter for the series and patch commit message (which >> cover this) are unclear about the motivations and semantics. On the commit >> message, can you suggest clarifications: >> >> "This is useful for lifecycle management, to reclaim VFIO PCI BAR >> ranges previously delegated to a subordinate client process: by >> revoking, the driver process can ensure that the loaned resources are >> made inaccessible when the client is deemed "done". The original >> DMABUF is defunct, and BAR resources can then be safely re-exported >> for use by new clients." >> >> Given what I'll explain below, do give suggestions please. There is more >> context in the cover letter (the volume of which I didn't think appropriate >> for the commit message). > > 1. Do not mix "driver" and "client" in the same description. For a > non-native English speaker, "driver" has a very specific meaning in the > context of the Linux kernel.
In the context of DMA-buf it has also proven vital to clearly use the terms importer and exporter to describe the different roles a driver can have. I can't count how often there was confusion because people (me included) just used "driver" and it wasn't clear which role was meant. > > 2. Explain the lifecycle in the commit message, and why "revoke", which > is effectively what the importer does, is not sufficient. > > 3. The more you put in the cover letter, the less likely people are to > read it. > > 4. Commit messages should describe the patches themselves, since they > are what remains visible in the git log, unlike the cover letter. > > 5. I would call what you describe as "temporarily revoke" is actually > "reclaim". +1 Regards, Christian. > > Thanks
