- User Since
- Jun 4 2014, 10:38 AM (351 w, 6 d)
Mon, Mar 1
Sat, Feb 27
Thu, Feb 25
Wed, Feb 24
Tue, Feb 23
Mon, Feb 22
Adding the header fails to compile with:
- update license
As noted earlier the mechanism is highly deficient. In fact now that I think of it it's even worse than described because of the way SMR is implemented, where freeing can only happen in full batches.
On a general note, the entire mechanism is already highly deficient. For example the code can bump into global limits even if there are free vnodes in local per-CPU caches. This needs a complete revamp which either lifts it out of UMA or integrates this into UMA completely.
I think this runs into trouble with the way the way vnlru is implemented. It may maintain some used/free vnode targets, but resulting freed memory may not be reusable by other filesystems. For example consider a box with ufs + nullfs, which now cannot reuse vnodes after each other. I think the way the long term solution is to fundamentally rework this model and put a small 'struct vnode' as part of fs-specific object, which would also mean reworking forced unmount.
Sun, Feb 21
Sat, Feb 20
bmake update got merged to stable/13 but not to releng/13.0, meaning as it is it wont make it. While this revision is no longer an option, the merge at hand is and to my understanding you got re approval.
While the patch at hand may indeed be good enough for a quick fixup, trying to review the entire ordeal suggests the mechanism is very error prone (at least to my taste). For example rm_tracker_remove may still be executing against IPIs and it contains multiple unordered stores.
Thu, Feb 18
- tweak comment
Wed, Feb 17
That's what they used to do in Linux, I don't know about other projects.
Tue, Feb 16
- address some of the feedback
Mon, Feb 15
- also convert fstatfs
The intent is to have next to no local patches, but upstreaming got stalled at some point with CI failures and I did not pick it up later. It is a little iffy right now but should be sorted out soon(tm).
this does not buildworld, for example:
Is the test suite happy with zfs as is? I know it used to pass few months back, but to my understanding some of the assertions were not being compiled in.
- add missing saturation checks
Huh. Looks like upstream added the following everywhere:
Fri, Feb 12
The claim was that vm object domaintes off cpu time and limits concurrent traffic leading to vmpfw.
Thu, Feb 11
I have no comments about usefulness of adding these counters. I have to note the patch negatively affects scalability as it adds loads from the page form something which gets modified by other threads. If adding these stats, it would have to happen inside of vm_page_busy_sleep.
But will your import make it into the 13.0 release? If so, I'm more than happy to drop this. Otherwise I think this should go in and the time window is closing.
Wed, Feb 10
Assuming this runs and builds with tinderbox LGTM modulo the union comment.
There are several other places which play with ->td_state, if rolling with atomic_* they all should be patched. Preferably there would be an atomic_int_t type or similar so that unpatched cases would fail to compile.