User Details
- User Since
- Jun 22 2015, 5:21 PM (563 w, 3 d)
Sun, Apr 5
Sat, Apr 4
I hate that I'm saying this, but this isn't just an ice(4) problem... The same thing will happen for the queue selection in iflib itself for most other drivers, and for the queue selection in non-iflib drivers. So I think it should be solved in a more generic fashion.
Sat, Mar 28
Updated diff to add a new ioctl for page-bank operations.
Changed the 2 drivers that might use page/bank (iflib, mce) to accept the new ioctl and to ensure they are not reading garbage page/bank fields when operating with the legacy SIOGI2C ioctl
Mon, Mar 23
I think that I may not understand your proposal. When you say "at the ioctl level..", Do you mean intercept the ioctls in ifhwioctl()? I think that seems awkward because ifi2req lives in userspace, and individual drivers copy it in / out, rather than it being done in a single spot for all drivers. So to zero fields, ifhwioctl would need copy-in ifi2creq, fix it up, & copy it out again..
Thu, Mar 19
@kib What if we reclaimed some of the spare fields in ifi2creq to a uint16_t magic field. User sets i2creq.magic=PAGE_BANK_REQ and driver sets magic=PAGE_BANK_ACK ? That prevents the confusion you're concerned about.
Wed, Mar 18
Tue, Mar 17
This is really clever. What about other lock types (rm / rms, sx, etc)?
Wed, Mar 11
Mar 6 2026
Mar 5 2026
Mar 4 2026
Re-worked thread setup to use mp_ncpus rather than mp_maxid, as suggested by @markj
Mar 3 2026
Feb 28 2026
- fixed typo in sysctl declaration
Feb 27 2026
I tried this on 3 EPYC generations at Netflix. The most recent (AMD EPYC 8434P, AMD EPYC 9535) behaved as expected. There was an dev.hwpstate_amd. node for each CPU, and a lot more freqs were exposed (from 3 to roughly a dozen).
On the oldest EPYC we have is EPYC 7502P, where it didn't change anything. We still only have 3 frequencies exposed. On this machine, we see just a single node from dev.hwpstate:
dev.hwpstate_amd.0.freq_settings: 2500/2750 2200/2200 1500/1350
dev.hwpstate_amd.0.%iommu:
dev.hwpstate_amd.0.%parent: cpu0
dev.hwpstate_amd.0.%pnpinfo:
dev.hwpstate_amd.0.%location:
dev.hwpstate_amd.0.%driver: hwpstate_amd
dev.hwpstate_amd.0.%desc: Cool`n'Quiet 2.0
dev.hwpstate_amd.%parent:
Feb 26 2026
This looks OK to me, but I defer to Warner.
Feb 10 2026
Looks good. Thank you!
Feb 9 2026
Slightly worried some NIC somwhere might not be setting this when it should. Is this solving a problem for you?
Jan 23 2026
Jan 22 2026
Jan 19 2026
Jan 14 2026
Jan 10 2026
Jan 8 2026
Bravo. Anything we can do to make iflib simpler is a good thing in my book!
Jan 7 2026
- use atomic_store rather than atomic_set, as per @markj 's feedback
- update man page date
Jan 6 2026
- Updated to document tx_defer_mfree separately
- rebased diff
- added documentation for tx_defer_mfree sysctl
Jan 5 2026
Jan 2 2026
Jan 1 2026
Dec 31 2025
Dec 24 2025
Dec 23 2025
I've only been able to test this on amd64, and I'm pretty bad at atomic acq/rel semantics. If somebody could review that, I'd appreciate it.
Dec 21 2025
Dec 19 2025
Dec 18 2025
added union for next_seqno / initial offload seqno to provide a better description & preserve ABI, as suggested by @jhb
Dec 17 2025
Dec 15 2025
Dec 12 2025
Dec 9 2025
- realized that so_unsplice can be called with an so2 that's already been recycled when its called via so_splice(), since we don't hold a reference. So ensure we null out sp_dest and deal with a NULL so2 in so_unsplice
Remove changes to the so_unsplice() path on SPLICE_INIT splices.. @markj correctly pointed out that codepath is not a problem.
Dec 6 2025
Dec 5 2025
Dec 3 2025
Remove more defensive debug code
update based on Gleb's feedback
