On Fri, 22 May 2026 13:32:20 +0200 Björn Töpel wrote: > Fbnic programs BDQs in 4 KiB fragments, but the driver has so far > decoded buffer IDs using PAGE_SIZE-derived constants. That works while > HPQ and PPQ both use PAGE_SIZE buffers, but it makes the fragment > layout global even though the layout really belongs to the queue. > > Store the fragment shift on each BDQ and use it when programming > buffer descriptors and decoding receive completions. HPQ and PPQ still > get the same PAGE_SIZE-derived value, so this does not change behavior > yet. > > This prepares PPQ to use a larger io_uring zcrx buffer size without > changing the HPQ layout.
PAGE_SIZE can be 64kB, I'd have expected the first commit to change "page size" from a compile time constant to a runtime knob. > - unsigned int pg_idx = FIELD_GET(FBNIC_RCD_AL_BUFF_PAGE_MASK, rcd); > + struct fbnic_ring *ppq = &qt->sub1; > + unsigned int pg_idx = fbnic_rcd_bdq_idx(ppq, rcd); This patch breaks reverse xmas tree in a lot of places. -- pw-bot: cr

