Re: git: 5edf24aac1d0 - main - ofed: reduce usage of struct dma_attrs *dma_attrs

From: John Baldwin <jhb_at_FreeBSD.org>
Date: Wed, 25 Feb 2026 01:24:05 UTC
On 2/24/26 17:09, Bjoern A. Zeeb wrote:
> The branch main has been updated by bz:
> 
> URL: https://cgit.FreeBSD.org/src/commit/?id=5edf24aac1d0978d37d62594f42d87c9f118622b
> 
> commit 5edf24aac1d0978d37d62594f42d87c9f118622b
> Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
> AuthorDate: 2026-02-19 23:12:29 +0000
> Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
> CommitDate: 2026-02-24 22:04:36 +0000
> 
>      ofed: reduce usage of struct dma_attrs *dma_attrs
>      
>      ib_verbs.h still uses struct dma_attrs *dma_attrs everywhere.
>      It is beyond my knowledge when that struct got deprecated upstream but
>      it is still supported by our LinuxKPI.  The problem is that the
>      functions called with that argument (dma_map_single_attrs,
>      dma_unmap_single_attrs, dma_map_sg_attrs, dma_unmap_sg_attrs) so far
>      are #defines in LinuxKPI and drop the last argument (attrs) so it was
>      never a problem.
>      
>      In preparation to pass the attrs to the actual implementation in LinuxKPI,
>      which has gained support for them, we now pass dma_sttrs->flags which
>      is the expected unsigned long bit field.
>      
>      If anyone has serious interest in updating our ofed implementation they
>      could look into this some more and remove the usage of struct dma_attrs
>      entirely.

I already have.  It's buried in this branch that I still need to get wider
testing (and I'm not sure yet I've backported all the things I need):

https://github.com/freebsd/freebsd-src/compare/main...bsdjhb:freebsd:ofed_backports

Notably, early in the branch are these two commits:

https://github.com/freebsd/freebsd-src/commit/a4583c049091d6468593fb04c1fc23c18195666f
(cherry-pick of an old Linux commit)

and then:

https://github.com/freebsd/freebsd-src/commit/788fb6bf0e6f3aa33aaf7dba362c44f1092a3559

-- 
John Baldwin