In D47350#1084720, @kevans wrote:In D47350#1084710, @kib wrote:Why abandon? This is useful in general.
I wasn't sure if it was worth doing if I don't have a consumer in mind now that I have lsan off of it- I'm more than happy to go ahead and push it if you think it's still useful.
- Queries
- All Stories
- Search
- Advanced Search
- Transactions
- Transaction Logs
Feed Advanced Search
Advanced Search
Advanced Search
Thu, Nov 14
Thu, Nov 14
Why abandon? This is useful in general.
ps.1: document rest of flag2 bits
kib committed rG087558ec3e01: ps.1: visually align process flags hex values by filling leading zeroes (authored by kib).
ps.1: visually align process flags hex values by filling leading zeroes
kib committed rGb01067349311: struct proc: add locking annotation for p_pendingcnt (authored by kib).
struct proc: add locking annotation for p_pendingcnt
sys/proc.h: add comments to the flag2 bits
rtld_get_var.3: fix typo
rtld.1: cross-reference rtld_get_var.3
Document rtld_get_var(3)
rtld: add rtld_{get,set}_var
kib committed rGdb21e6980b92: rtld: make it easier to add sparce non-default members to ld_env_var_desc (authored by kib).
rtld: make it easier to add sparce non-default members to ld_env_var_desc
kib committed rG287995f1086e: sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype (authored by kib).
sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype
rtld: 1-bit for bool is enough
In D47556#1084670, @emaste wrote:If you move the page to section 3, it should be in lib/libc/gen.
I wondered about that, but the implementation is in libsys and there are a small number of section 3 pages in libsys, like getpagesize.3, so should be the same for sched_getcpu, no?
Wed, Nov 13
Wed, Nov 13
If you move the page to section 3, it should be in lib/libc/gen.
Now after a fresh look, I suggest to change the new function to be read-only. What I mean, is to remove hold/unhold_object and marker linkage. I believe this is 'better' in the sense that it would induce the UB memory accesses on the caller, but other threads would not see unlocked updates.
kib committed rGde7a92756f0a: mlx5en: improve reporting of kernel TLS, IPSEC offload, and ratelimit caps (authored by kib).
mlx5en: improve reporting of kernel TLS, IPSEC offload, and ratelimit caps
kib added a comment to D47523: SU+J: all writes to SU journal must be exempt from runningbufspace throttling.
In D47523#1084448, @markj wrote:In D47523#1084446, @kib wrote:Well, I initally mean to simply convert B_ASYNC to sync by clearing the flag, if runningbufspace limit would be hit. My reasoning to switch to TDP_NORBS is to be more like existing solution for the buffer daemon instead, to not provide two separate hacks for the same problem. I do not think that B_ASYNCWAIT is needed.
This is what I tried first, it doesn't work. bufdone() needs to know about this special case, since it handles completion differently depending on whether B_ASYNC was set or not.
kib committed rG46f02c4282ff: SU+J: all writes to SU journal must be exempt from runningbufspace throttling (authored by kib).
SU+J: all writes to SU journal must be exempt from runningbufspace throttling
bufwrite(): adjust the comment
bufwrite(): style
kib added a comment to D47523: SU+J: all writes to SU journal must be exempt from runningbufspace throttling.
In D47523#1084327, @markj wrote:I think this change is probably ok.
The larger invariant to preserve is that the filesystem cannot issue async I/O to implement bstrategy(). If it does, then the maximum number of recursive I/Os must be less than lorunningspace/maxphys (on small memory systems this can be 0), OR, the code issuing the async writes must set TDP_NORUNNINGSPACE.
I tried implementing your suggestion to make bufwait(B_ASYNC) block if the write exceeds the hirunningspace threshold. I think this solves the problem, but it's hard to be sure, as the bawrite() in softdep_process_journal() is hard to trigger (normally this work is handled by the flushing thread). It is a bit complex (requires a new B_ASYNCWAIT buf flag and some locking to synchronize the sleep/wakeup), but I believe it relaxes this invariant. I'm not sure whether to continue working on it.
kib committed rG19d23cb8acc9: vm_object: do not assume that un_pager.devp.dev is cdev (authored by kib).
vm_object: do not assume that un_pager.devp.dev is cdev
kib committed rG300d034b3c29: device_pager: rename the un_pager.devp.dev field to handle (authored by kib).
device_pager: rename the un_pager.devp.dev field to handle
Tue, Nov 12
Tue, Nov 12
kib committed rG92a9501b6be3: vm_object: do not assume that un_pager.devp.dev is cdev (authored by kib).
vm_object: do not assume that un_pager.devp.dev is cdev
kib committed rGc57dc755fa1a: device_pager: rename the un_pager.devp.dev field to handle (authored by kib).
device_pager: rename the un_pager.devp.dev field to handle
kib requested review of D47523: SU+J: all writes to SU journal must be exempt from runningbufspace throttling.
kib committed rG166c1fac59f0: struct proc: add locking annotation for p_pendingcnt (authored by kib).
struct proc: add locking annotation for p_pendingcnt
amdiommu: hide HPET report under verbose
kib committed rG19cefbb3ddb1: amdiommu: short-circuit all amdiommu_find_unit() functions (authored by kib).
amdiommu: short-circuit all amdiommu_find_unit() functions
Mon, Nov 11
Mon, Nov 11
Sun, Nov 10
Sun, Nov 10
kib committed rG37095a500dc1: libc: remove some XXX for russian translations of errnos (authored by kib).
libc: remove some XXX for russian translations of errnos
kib committed rG27f51b8c5111: libc: mechanically convert ru_RU msg catalog from KOI8-R to UTF-8 (authored by kib).
libc: mechanically convert ru_RU msg catalog from KOI8-R to UTF-8
kib committed rGd43c3ae472ad: catopen(3): align returned errors with IEEE Std 1003.1™-2024 (authored by kib).
catopen(3): align returned errors with IEEE Std 1003.1™-2024
Sat, Nov 9
Sat, Nov 9
kib committed rG9805e5b071a1: amdiommu: short-circuit all amdiommu_find_unit() functions (authored by kib).
amdiommu: short-circuit all amdiommu_find_unit() functions
amdiommu: hide HPET report under verbose
iommu: Clean up a lingering function prototype
vmm: Rename the amdiommu driver to amdviiommu
iommu: eliminate iommu_free_ctx()
kib committed rGaebd6c32dfae: amdiommu: print more domain information from ddb show (authored by kib).
amdiommu: print more domain information from ddb show
AMD IOMMU driver
amdiommu: changes for stable/14 merge
x86/iommu/amd_reg.h: fix typo in comment
kib committed rGd4e318edeccc: x86/iommu/amd_reg.h: AMD IOMMU registers definitions (authored by kib).
x86/iommu/amd_reg.h: AMD IOMMU registers definitions
ps(1): clean up after swapout removal
sys/proc.h: add comments to the flag2 bits
ps.1: document rest of flag2 bits
kib committed rGcd9e781e76d9: ps.1: visually align process flags hex values by filling leading zeroes (authored by kib).
ps.1: visually align process flags hex values by filling leading zeroes
Thu, Nov 7
Thu, Nov 7
rtld_get_var.3: fix typo
rtld.1: cross-reference rtld_get_var.3
Document rtld_get_var(3)
rtld: add rtld_{get,set}_var
kib committed rGd7214577ff00: rtld: make it easier to add sparce non-default members to ld_env_var_desc (authored by kib).
rtld: make it easier to add sparce non-default members to ld_env_var_desc
rtld: 1-bit for bool is enough
kib committed rG7cd3e2696ca3: sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype (authored by kib).
sys/link_elf.h: remove extern linkage specifier from dl_iterate_phdr() prototype
It is not only the vendor code, but the whole spec for Processor ACPI vendor-specific fixed functions. It is only Intel which specified something, which is why I only enabled it on Intel.
Wed, Nov 6
Wed, Nov 6
kib committed rG580340dbdaaf: vm_object: do not assume that un_pager.devp.dev is cdev (authored by kib).
vm_object: do not assume that un_pager.devp.dev is cdev
kib committed rGf0c07fe3d000: device_pager: rename the un_pager.devp.dev field to handle (authored by kib).
device_pager: rename the un_pager.devp.dev field to handle
Tue, Nov 5
Tue, Nov 5
amd64/amd64/fpu.c seems to be the natural place for the new functions.
Despite named 'fpu', the file deals with the whole non-GPR part of the CPU state.
Mon, Nov 4
Mon, Nov 4
It should be fine modulo the note about vhold() no longer needed.
There are two additional useful things to do there:
- stop using devp.handle for handle, it seems to always copy the actual handle. Then, the entry can be renamed back to dev and guaranteed to be either NULL or cdev, and it can be cdev in more cases.
- add cdev pager method to return user-visible name, to fill into procstat and vmstat -o.
Yes this is almost exactly what I mean by dl_iterate_phdr_locked().
Sun, Nov 3
Sun, Nov 3
kib committed rG43bfb4e71483: amdiommu: print more domain information from ddb show (authored by kib).
amdiommu: print more domain information from ddb show
iommu: eliminate iommu_free_ctx()
x86/iommu/amd_reg.h: fix typo in comment
How do you handle DMA operations possibly still occuring at the panic or reboot time? For panic, the paniced kernel definitely does not do anything to stop them. For reboot, I am aware that e.g. mlx5 driver does nothing to stop PCIe interface from executing commands and writing updates to several rings, also the UMA memory is kept owned by the card until reset is done. Similarly, GPUs which have host memory allocated for them, might do DMA ops for long time after the host started smelling funny.
kib committed rGe2864e718978: libc: mechanically convert ru_RU msg catalog from KOI8-R to UTF-8 (authored by kib).
libc: mechanically convert ru_RU msg catalog from KOI8-R to UTF-8
kib committed rG3b65da5b65a6: libc: remove some XXX for russian translations of errnos (authored by kib).
libc: remove some XXX for russian translations of errnos
kib committed rG1176390d2d2b: catopen(3): align returned errors with IEEE Std 1003.1™-2024 (authored by kib).
catopen(3): align returned errors with IEEE Std 1003.1™-2024
kib added inline comments to D47414: libc: mechanically convert ru_RU msg catalog from KOI8-R to UTF-8.
We can export something like dl_iterate_phdr_locked() in private namespace, which would not take the phdr lock, if the problem is with it.
kib committed rG05bc70bab4ff: x86: do not leak msi_lock in msix_alloc() on iommu remapping failure (authored by kib).
x86: do not leak msi_lock in msix_alloc() on iommu remapping failure
Sat, Nov 2
Sat, Nov 2
AMD IOMMU driver