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

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Wed, 25 Feb 2026 02:09:54 UTC
On Tue, 24 Feb 2026, John Baldwin wrote:

> 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)

Thank you!

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

Ah nice.

You made me check when this happend upstream and I found 00085f1efa387 .
Seems this was v4.8 so that should not be a problem to ditch dma-attrs.h then :)

Thank you!

I'll be happy to help review changes if needed, especially for all
things concerning LinuxKPI (or in case you hit that netdevice).

/bz

-- 
Bjoern A. Zeeb                                                     r15:7