Re: [PATCH v5 00/18] Refcounted interrupt disable and SpinLockIrq for Rust
From: Gary Guo
Date: Mon Aug 10 2026 - 06:42:05 EST
On Mon Aug 10, 2026 at 10:30 AM BST, Peter Zijlstra wrote:
> On Mon, Aug 10, 2026 at 10:53:55AM +0200, Peter Zijlstra wrote:
>> On Mon, Aug 10, 2026 at 10:52:55AM +0200, Peter Zijlstra wrote:
>> > On Fri, Aug 07, 2026 at 12:01:57AM -0700, Boqun Feng wrote:
>> >
>> > > * Added underflow/overflow checking for interrupt disabling counter as
>> > > suggested by Shrikanth.
>> > > * Added a max nesting level per suggestion from Shrikanth.
>> > > * Document/comment updates.
>> >
>> > Can I get those as separate patches? I had already queued and tested the
>> > previous version.
>> >
>> > (although as it turns out, I lost one SoB fixup somehow, so I'm applying
>> > them again with just that Changelog ammended)
>>
>> I'll grab the rust patches from this set I suppose. I had not yet looked
>> at those, since I don't normally build rust crud and I need to figure
>> out how to do that again :-(
>
> So on tip/master + tip/locking/core (its fresh, so not in master yet).
>
> I have debian experimental rustc, which is build against clang-23, so I
> do:
>
> $ make O=defconfig-build/ LLVM=-23 defconfig rust.config
> $ make O=defconfig-build/ LLVM=-23 -j64
>
> and that gets me a wild amount of build fail :/
>
> error[E0560]: struct `blk_mq_tag_set` has no field named `ops`
> --> ../rust/kernel/block/mq/tag_set.rs:46:21
> |
> 46 | ops: OperationsVTable::<T>::build(),
> | ^^^ `blk_mq_tag_set` does not have this field
> |
> = note: available fields are: `_address`
>
> error[E0560]: struct `blk_mq_tag_set` has no field named `nr_hw_queues`
> --> ../rust/kernel/block/mq/tag_set.rs:47:21
> |
> 47 | nr_hw_queues,
> | ^^^^^^^^^^^^ `blk_mq_tag_set` does not have this field
> |
> = note: available fields are: `_address`
>
> ... this goes on for a fair while.
There was a change in clang 22 that breaks bindgen. You'd need the latest
bindgen, see
https://lore.kernel.org/rust-for-linux/CABwQupNfMAJOGqRM9ke6tj4f53dCCsBDKU7Vp+zf8mwk7bqt8Q@xxxxxxxxxxxxxx/.
If you're using debian unstable clang/rustc then you should also get bindgen
from there too. Debian sid has the bindgen version that works with latest clang.
Best,
Gary