Page MenuHomeFreeBSD

jeff (Jeffrey Roberson)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 6 2017, 12:45 AM (163 w, 2 d)

Recent Activity

Wed, Sep 2

jeff accepted D26304: Avoid unnecessary object locking in vm_page_grab_pages_unlocked()..
Wed, Sep 2, 7:38 PM
jeff added a comment to D26304: Avoid unnecessary object locking in vm_page_grab_pages_unlocked()..

hilarious, thank you.

Wed, Sep 2, 7:37 PM

Aug 12 2020

jeff added inline comments to D25968: VMIO read.
Aug 12 2020, 5:57 PM
jeff added inline comments to D25968: VMIO read.
Aug 12 2020, 5:37 PM

Aug 10 2020

jeff added a comment to D25968: VMIO read.

We should set reference bits or similar so that the LRU is updated lazily.

Aug 10 2020, 6:55 PM

Jun 21 2020

jeff committed rS362459: Use zone nomenclature that is consistent with UMA..
Use zone nomenclature that is consistent with UMA.
Jun 21 2020, 4:59 AM

Jun 20 2020

jeff committed rS362449: Clarify some language. Favor primary where both master and primary were.
Clarify some language. Favor primary where both master and primary were
Jun 20 2020, 8:21 PM

Jun 9 2020

jeff accepted D25200: New Code of Conduct (LLVM-derived).
Jun 9 2020, 7:59 PM

May 5 2020

jeff added a comment to D24622: Use the regular turnstile interface to lend prio to preempted readers..

I approve of the approach.

May 5 2020, 7:45 PM

May 1 2020

jeff added a comment to D24645: sched_ule: rate limit work stealing.

First off, lots of good discussion here. I think this is the start of a good approach and I support committing it disabled.

May 1 2020, 7:31 PM

Apr 27 2020

jeff accepted D24592: Re-check for wirings after busying the page in vm_page_release_locked()..
Apr 27 2020, 6:49 PM

Apr 21 2020

jeff added a comment to D24473: Use a single kernel stack object..

Have you thought about whether there are any side-effects in swap behavior from using the same object? Might we run into clustering behavior?

Apr 21 2020, 12:55 AM
jeff accepted D24475: Factor out contig page alloc code..
Apr 21 2020, 12:48 AM

Mar 16 2020

jeff added a comment to D24028: Normalize VM_ALLOC_ZERO handling in page busy routines..

I think there may be a bug in this. busy_sleep may not properly wait for an exclusive lock if it is sleeping to zero a page while it is sbusy and the caller requested an sbusy after zeroing. Currently no caller does this so it is not going to cause problems. There are simply too many flags and it complicates things but I do not see an easy way to drop many.

Mar 16 2020, 3:01 AM
jeff added inline comments to D24031: Consolidate busy sleep mechanisms..
Mar 16 2020, 2:54 AM

Mar 11 2020

jeff committed rS358901: Check for busy or wired in vm_page_relookup(). Some callers will only keep.
Check for busy or wired in vm_page_relookup(). Some callers will only keep
Mar 11 2020, 10:25 PM
jeff updated the summary of D24032: Retire vm_page_sbusy/vm_page_xbusy. They are unsafe with lockless lookup..
Mar 11 2020, 8:46 PM
jeff created D24032: Retire vm_page_sbusy/vm_page_xbusy. They are unsafe with lockless lookup..
Mar 11 2020, 8:45 PM
jeff added a comment to D24031: Consolidate busy sleep mechanisms..

One other thing; I have submitted patches to drm to address these changes. I will have to bump FreeBSD_version and fix one extra case in drm-legacy because it is not written in a way that it can use vm_page_busy_acquire().

Mar 11 2020, 8:45 PM
jeff updated the summary of D24031: Consolidate busy sleep mechanisms..
Mar 11 2020, 8:41 PM
jeff created D24031: Consolidate busy sleep mechanisms..
Mar 11 2020, 8:38 PM
jeff updated the summary of D24030: Make grab_valid more consistent with other grab functions by requiring ZERO..
Mar 11 2020, 8:37 PM
jeff retitled D24029: Simplify some grab VM_ALLOC_ZERO callers now that grab will set the pagesvalid. from Simplify some grab VM_ALLOC_ZERO callers now that grab will set the pages valid. to Simplify some grab VM_ALLOC_ZERO callers now that grab will set the pagesvalid..
Mar 11 2020, 8:33 PM
jeff updated the summary of D24028: Normalize VM_ALLOC_ZERO handling in page busy routines..
Mar 11 2020, 8:32 PM
jeff created D24030: Make grab_valid more consistent with other grab functions by requiring ZERO..
Mar 11 2020, 8:27 PM
jeff created D24029: Simplify some grab VM_ALLOC_ZERO callers now that grab will set the pagesvalid..
Mar 11 2020, 8:26 PM
jeff created D24028: Normalize VM_ALLOC_ZERO handling in page busy routines..
Mar 11 2020, 8:25 PM

Mar 10 2020

jeff added inline comments to D24010: Add SMR_LIST_* macros..
Mar 10 2020, 2:48 AM
jeff added a comment to D24010: Add SMR_LIST_* macros..

I agree with mark. CK_LIST is just a copy of queue.h with ck barriers added. We want stronger assertions to tie to the smr interface. We have wide arm64 platforms available to us for testing now. I think the risk of incorrect barriers is minimal if we are conservative. The only real question is how often to require acquire load.

Mar 10 2020, 12:58 AM

Mar 9 2020

jeff added inline comments to D24010: Add SMR_LIST_* macros..
Mar 9 2020, 11:50 PM

Mar 6 2020

jeff accepted D23986: zfs dmu_read: loosen the assertion..

I am ok with this but eventually it likely should not be shared busy.

Mar 6 2020, 8:35 PM
jeff added inline comments to D23988: Move SMR pointer type definition and access macros to smr_types.h..
Mar 6 2020, 6:12 PM
jeff accepted D23988: Move SMR pointer type definition and access macros to smr_types.h..
Mar 6 2020, 5:52 PM
jeff added a comment to D23913: vfs: introduce basic smr-protected path lookup.

Would you not prefer to use an invalid value rather than a bit to hold the free state? i.e. VHOLD_NO_SMR would be something like VHOLD_DEAD 0xffffffff. Some of your asserts would have to be adjusted. The first ref should switch dead with 1.

Mar 6 2020, 7:40 AM
jeff added a comment to D23915: vfs: fully smr-protected path lookup.

I don't mind adding accessors after the fact. It will help us continue to make them more natural and less obtrusive if we can make this work with them.

Mar 6 2020, 7:07 AM
jeff added a comment to D23915: vfs: fully smr-protected path lookup.

So In general the naming scheme is:
vn_* or v* in older code for vnode specific routines.
vop_ for routines specific to ops.
vfs_ for global or mount.

Mar 6 2020, 6:31 AM
jeff added inline comments to D23915: vfs: fully smr-protected path lookup.
Mar 6 2020, 5:44 AM

Mar 5 2020

jeff added inline comments to D23980: Make uma_int.h friendlier to userspace..
Mar 5 2020, 9:10 PM
jeff added inline comments to D23889: fd: use SMR for managing struct pwd.
Mar 5 2020, 8:36 PM
jeff added a comment to D23889: fd: use SMR for managing struct pwd.

Overall this is nice and a better first example of smr than radix.

Mar 5 2020, 8:14 PM
jeff added inline comments to D23889: fd: use SMR for managing struct pwd.
Mar 5 2020, 8:09 PM
jeff added inline comments to D23979: Segregate _NOFREE allocations in physical memory and KVA..
Mar 5 2020, 7:48 PM

Mar 1 2020

jeff added a comment to D23889: fd: use SMR for managing struct pwd.

also please put a comment in the pwd structure describing how the synchronization works. I believe I understand but am not 100%.

Mar 1 2020, 10:02 PM
jeff added a reviewer for D23889: fd: use SMR for managing struct pwd: markj.

This is a good opportunity to push for idiomatic access.

Mar 1 2020, 10:00 PM
jeff added inline comments to D23884: (pwd 2/3) fd: move vnodes out of filedesc into a dedicated structure.
Mar 1 2020, 9:58 PM

Feb 28 2020

jeff committed rS358451: Provide a lock free alternative to resolve bogus pages. This is not likely.
Provide a lock free alternative to resolve bogus pages. This is not likely
Feb 28 2020, 9:42 PM
jeff closed D23866: Add a lock free relookup for bogus page replacement..
Feb 28 2020, 9:42 PM
jeff added inline comments to D23866: Add a lock free relookup for bogus page replacement..
Feb 28 2020, 8:36 PM
jeff abandoned D23861: Add a lock free relookup for bogus page replacement..
Feb 28 2020, 8:34 PM
jeff closed D23847: Convert a few trivial uses to unlocked page lookups..
Feb 28 2020, 8:34 PM
jeff committed rS358447: Convert a few triviail consumers to the new unlocked grab API..
Convert a few triviail consumers to the new unlocked grab API.
Feb 28 2020, 8:34 PM
jeff committed rS358446: Use unlocked grab for uipc_shm/tmpfs..
Use unlocked grab for uipc_shm/tmpfs.
Feb 28 2020, 8:33 PM
jeff closed D23865: Unlocked grab for shm..
Feb 28 2020, 8:32 PM
jeff committed rS358445: Support the NOCREAT flag for grab_valid_unlocked..
Support the NOCREAT flag for grab_valid_unlocked.
Feb 28 2020, 8:32 PM
jeff committed rS358444: Simplify vref() code in object_reference. The local temporary is no longer.
Simplify vref() code in object_reference. The local temporary is no longer
Feb 28 2020, 8:31 PM
jeff committed rS358443: Eliminate object locking in zfs where possible with the new lockless grab.
Eliminate object locking in zfs where possible with the new lockless grab
Feb 28 2020, 8:30 PM
jeff closed D23848: Reduce object locking in zfs..
Feb 28 2020, 8:30 PM
jeff accepted D23861: Add a lock free relookup for bogus page replacement..
Feb 28 2020, 7:03 PM
jeff added inline comments to D23865: Unlocked grab for shm..
Feb 28 2020, 7:03 PM

Feb 27 2020

jeff updated the summary of D23866: Add a lock free relookup for bogus page replacement..
Feb 27 2020, 10:47 PM
jeff updated the summary of D23865: Unlocked grab for shm..
Feb 27 2020, 10:44 PM
jeff created D23866: Add a lock free relookup for bogus page replacement..
Feb 27 2020, 10:38 PM
jeff created D23865: Unlocked grab for shm..
Feb 27 2020, 10:38 PM
jeff created D23861: Add a lock free relookup for bogus page replacement..
Feb 27 2020, 8:39 PM
jeff committed rS358400: Simplify lazy advance with a 64bit atomic cmpset..
Simplify lazy advance with a 64bit atomic cmpset.
Feb 27 2020, 7:05 PM
jeff closed D23825: Simplify lazy advance and decouple it somewhat from ticks so that it canbe forwarded after other broadcast interrupts..
Feb 27 2020, 7:05 PM
jeff added inline comments to D23847: Convert a few trivial uses to unlocked page lookups..
Feb 27 2020, 6:35 PM
jeff abandoned D23738: Experimental ticks based SMR..
Feb 27 2020, 8:24 AM
jeff committed rS358377: A pair of performance improvements..
A pair of performance improvements.
Feb 27 2020, 8:23 AM
jeff closed D23824: A pair of UMA optimizations to improve cache behavior..
Feb 27 2020, 8:23 AM
jeff added inline comments to D23847: Convert a few trivial uses to unlocked page lookups..
Feb 27 2020, 3:33 AM
jeff updated the summary of D23848: Reduce object locking in zfs..
Feb 27 2020, 3:14 AM
jeff created D23848: Reduce object locking in zfs..
Feb 27 2020, 3:13 AM
jeff updated the summary of D23847: Convert a few trivial uses to unlocked page lookups..
Feb 27 2020, 3:10 AM
jeff created D23847: Convert a few trivial uses to unlocked page lookups..
Feb 27 2020, 3:06 AM
jeff committed rS358363: Add unlocked grab* function variants that use lockless radix code to.
Add unlocked grab* function variants that use lockless radix code to
Feb 27 2020, 2:37 AM
jeff closed D23449: Add unlocked variants of grab functions..
Feb 27 2020, 2:37 AM

Feb 26 2020

jeff updated the diff for D23449: Add unlocked variants of grab functions..

Review feedback.

Feb 26 2020, 8:06 PM
jeff added inline comments to D23449: Add unlocked variants of grab functions..
Feb 26 2020, 6:06 PM
jeff updated the diff for D23449: Add unlocked variants of grab functions..

Upload the correct diff

Feb 26 2020, 12:50 AM
jeff updated the diff for D23449: Add unlocked variants of grab functions..

Sometimes if you keep re-arranging pieces they shuffle into a more compact
representation.

Feb 26 2020, 12:45 AM

Feb 25 2020

jeff added inline comments to D23449: Add unlocked variants of grab functions..
Feb 25 2020, 7:28 PM
jeff updated the diff for D23449: Add unlocked variants of grab functions..

Fully handle sleep fail/nowait cases. Simplify a few lockless functions by
introducing another helper. Handle the object NULL assignment in a single
place with a compiler barrier.

Feb 25 2020, 6:33 AM
jeff added inline comments to D23825: Simplify lazy advance and decouple it somewhat from ticks so that it canbe forwarded after other broadcast interrupts..
Feb 25 2020, 5:04 AM
jeff added inline comments to D23824: A pair of UMA optimizations to improve cache behavior..
Feb 25 2020, 4:58 AM
jeff added a comment to D23738: Experimental ticks based SMR..

I forgot to submit these comments

Feb 25 2020, 4:57 AM

Feb 24 2020

jeff retitled D23825: Simplify lazy advance and decouple it somewhat from ticks so that it canbe forwarded after other broadcast interrupts. from Simplify lazy advance and decouple it somewhat from ticks so that it can be forwarded after other broadcast interrupts. to Simplify lazy advance and decouple it somewhat from ticks so that it canbe forwarded after other broadcast interrupts..
Feb 24 2020, 11:42 PM
jeff created D23825: Simplify lazy advance and decouple it somewhat from ticks so that it canbe forwarded after other broadcast interrupts..
Feb 24 2020, 11:41 PM
jeff updated the summary of D23824: A pair of UMA optimizations to improve cache behavior..
Feb 24 2020, 11:40 PM
jeff created D23824: A pair of UMA optimizations to improve cache behavior..
Feb 24 2020, 11:26 PM

Feb 22 2020

jeff committed rS358236: Add an atomic-free tick moderated lazy update variant of SMR..
Add an atomic-free tick moderated lazy update variant of SMR.
Feb 22 2020, 3:44 AM

Feb 21 2020

jeff updated the diff for D23738: Experimental ticks based SMR..

If there are no objections I will commit this version.

Feb 21 2020, 11:20 PM
jeff added inline comments to D23738: Experimental ticks based SMR..
Feb 21 2020, 12:39 AM
jeff updated the diff for D23738: Experimental ticks based SMR..

Name my SMR variant GUS for Global Unbounded Sequences.

Feb 21 2020, 12:37 AM

Feb 20 2020

jeff added inline comments to D23738: Experimental ticks based SMR..
Feb 20 2020, 6:19 PM
jeff added inline comments to D23738: Experimental ticks based SMR..
Feb 20 2020, 6:53 AM

Feb 19 2020

jeff committed rS358133: Silence a gcc warning about no return from a function that handles every.
Silence a gcc warning about no return from a function that handles every
Feb 19 2020, 10:34 PM
jeff added inline comments to D23449: Add unlocked variants of grab functions..
Feb 19 2020, 8:06 PM
jeff committed rS358130: Use SMR to provide a safe unlocked lookup for vm_radix..
Use SMR to provide a safe unlocked lookup for vm_radix.
Feb 19 2020, 7:58 PM
jeff closed D23446: Add a lockless lookup mechanism that uses a SMR zone..
Feb 19 2020, 7:58 PM