Page MenuHomeFreeBSD
Feed Advanced Search

Sep 14 2019

jeff added a comment to D21548: (vm object 1) Replace busy checks and sleeps with acquires where it is trivial to do so..

One possible refinement that I should mention;

Sep 14 2019, 6:45 PM

Sep 13 2019

jeff added inline comments to D21629: Add support for multithreading the inactive queue pageout within a domain..
Sep 13 2019, 12:06 AM

Sep 12 2019

jeff updated the summary of D21629: Add support for multithreading the inactive queue pageout within a domain..
Sep 12 2019, 11:27 PM
jeff created D21629: Add support for multithreading the inactive queue pageout within a domain..
Sep 12 2019, 11:22 PM
jeff added inline comments to D21617: Improve support for refcount waiting.
Sep 12 2019, 7:53 PM
jeff added inline comments to D21617: Improve support for refcount waiting.
Sep 12 2019, 7:28 PM
jeff added inline comments to D21617: Improve support for refcount waiting.
Sep 12 2019, 7:22 PM
jeff added a comment to D21617: Improve support for refcount waiting.

Can you describe the consumer visible effect you are trying to achieve? Is it just releasn?

Sep 12 2019, 7:10 PM
jeff added inline comments to D21611: Introduce atomic per-page queue state operations..
Sep 12 2019, 6:58 PM
jeff added inline comments to D21611: Introduce atomic per-page queue state operations..
Sep 12 2019, 4:00 AM
jeff added inline comments to D21611: Introduce atomic per-page queue state operations..
Sep 12 2019, 2:24 AM

Sep 10 2019

jeff updated the summary of D21598: Use atomics for object reference count so that we can use the shared lock to protect it..
Sep 10 2019, 8:40 PM
jeff created D21598: Use atomics for object reference count so that we can use the shared lock to protect it..
Sep 10 2019, 8:34 PM
jeff created D21597: Drop the object lock in vfs_bio and cluster.
Sep 10 2019, 8:33 PM
jeff retitled D21596: (vm object 6) Convert pmap_is_modified, pmap_remove_write, and pmap_clear_modify to expecting busy to be held by the caller now that all callers hold it. from Convert pmap_is_modified, pmap_remove_write, and pmap_clear_modify to expecting busy to be held by the caller now that all callers hold it. to (vm object 6) Convert pmap_is_modified, pmap_remove_write, and pmap_clear_modify to expecting busy to be held by the caller now that all callers hold it..
Sep 10 2019, 8:26 PM
jeff created D21596: (vm object 6) Convert pmap_is_modified, pmap_remove_write, and pmap_clear_modify to expecting busy to be held by the caller now that all callers hold it..
Sep 10 2019, 8:24 PM
jeff retitled D21595: (vm object 5) Move PGA_NOSYNC to VPA_NOSYNC so that the object lock is not required. from Move PGA_NOSYNC to VPA_NOSYNC so that the object lock is not required. to (vm object 5) Move PGA_NOSYNC to VPA_NOSYNC so that the object lock is not required..
Sep 10 2019, 8:23 PM
jeff created D21595: (vm object 5) Move PGA_NOSYNC to VPA_NOSYNC so that the object lock is not required..
Sep 10 2019, 8:20 PM
jeff retitled D21594: (vm object 4) Wrap valid accesses in inlines. Add missing busy acquires to protect valid. from Wrap valid accesses in inlines. Add missing busy acquires to protect valid. to (vm object 4) Wrap valid accesses in inlines. Add missing busy acquires to protect valid..
Sep 10 2019, 8:19 PM
jeff created D21594: (vm object 4) Wrap valid accesses in inlines. Add missing busy acquires to protect valid..
Sep 10 2019, 8:11 PM
jeff retitled D21592: (vm object 3) Add a shared object busy synchronization mechanism that blocks new page busy acquires while held. from Add a shared object busy synchronization mechanism that blocks new page busy acquires while held. to (vm object 3) Add a shared object busy synchronization mechanism that blocks new page busy acquires while held..
Sep 10 2019, 8:10 PM
jeff retitled D21549: (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep(). from Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep(). to (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep()..
Sep 10 2019, 7:59 PM
jeff retitled D21548: (vm object 1) Replace busy checks and sleeps with acquires where it is trivial to do so. from Replace busy checks and sleeps with acquires where it is trivial to do so. to (vm object 1) Replace busy checks and sleeps with acquires where it is trivial to do so..
Sep 10 2019, 7:59 PM
jeff created D21592: (vm object 3) Add a shared object busy synchronization mechanism that blocks new page busy acquires while held..
Sep 10 2019, 7:58 PM
jeff added inline comments to D21549: (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep()..
Sep 10 2019, 7:13 PM
jeff committed rS352176: Replace redundant code with a few new vm_page_grab facilities:.
Replace redundant code with a few new vm_page_grab facilities:
Sep 10 2019, 7:08 PM
jeff closed D21546: Eliminate redundant vm code with a few new convenience functions..
Sep 10 2019, 7:08 PM
jeff committed rS352174: Use the sleepq lock rather than the page lock to protect against wakeup.
Use the sleepq lock rather than the page lock to protect against wakeup
Sep 10 2019, 6:28 PM
jeff closed D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Sep 10 2019, 6:28 PM
jeff added inline comments to D21549: (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep()..
Sep 10 2019, 4:18 PM

Sep 6 2019

jeff added inline comments to D21425: vfs: manage mnt_ref with atomics.
Sep 6 2019, 6:53 PM
jeff abandoned D21331: Eliminate redundant code by introducing a vm_page_grab_valid().
Sep 6 2019, 6:48 PM
jeff abandoned D21332: Augment vm_page_grab to support more cases that want to acquire busy locks..
Sep 6 2019, 6:48 PM
jeff added inline comments to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Sep 6 2019, 2:44 PM
jeff retitled D21549: (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep(). from Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep(). Some callers like vm_page_remove/replace want busy state to persist. to Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep()..
Sep 6 2019, 2:05 PM
jeff created D21549: (vm object 2) Don't release xbusy in vm_page_remove(), defer to vm_page_free_prep()..
Sep 6 2019, 12:46 PM
jeff updated the summary of D21548: (vm object 1) Replace busy checks and sleeps with acquires where it is trivial to do so..
Sep 6 2019, 12:45 PM
jeff created D21548: (vm object 1) Replace busy checks and sleeps with acquires where it is trivial to do so..
Sep 6 2019, 12:43 PM
jeff retitled D21546: Eliminate redundant vm code with a few new convenience functions. from Eliminate redundant with a few new convenience functions. to Eliminate redundant vm code with a few new convenience functions..
Sep 6 2019, 12:42 PM
jeff created D21546: Eliminate redundant vm code with a few new convenience functions..
Sep 6 2019, 12:35 PM

Sep 5 2019

jeff updated the diff for D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..

Resolve identity change issues

Sep 5 2019, 6:31 PM
jeff added a comment to D17885: ULE scheduler: Interrupt thread natural binding to the core receiving the interrupt event is easily ignored.

This looks correct to me. Do you have any information from testing? How was this found?

Sep 5 2019, 1:31 PM

Aug 21 2019

D21357: Move OBJT_VNODE specific code from vm_object_terminate() to vnode_destroy_vobject(). is now accepted and ready to land.
Aug 21 2019, 9:49 PM
jeff added a comment to D21357: Move OBJT_VNODE specific code from vm_object_terminate() to vnode_destroy_vobject()..

In general I like this but the double setting of OBJ_DEAD does make it harder to detect things like double frees.

Aug 21 2019, 9:31 PM

Aug 20 2019

jeff added inline comments to D21331: Eliminate redundant code by introducing a vm_page_grab_valid().
Aug 20 2019, 8:33 PM
jeff added inline comments to D21332: Augment vm_page_grab to support more cases that want to acquire busy locks..
Aug 20 2019, 8:23 PM
jeff added inline comments to D21332: Augment vm_page_grab to support more cases that want to acquire busy locks..
Aug 20 2019, 8:16 PM
jeff added a comment to D21331: Eliminate redundant code by introducing a vm_page_grab_valid().

So it is ok to skip has_pages for vnode objects? This is a slight optimization that seems worthwhile to me.

Aug 20 2019, 7:15 PM
jeff abandoned D21313: Eliminate redundant code by introducing a vm_page_grab_valid that will use the pager to bring in pages that are not valid..
Aug 20 2019, 1:21 AM
jeff retitled D21332: Augment vm_page_grab to support more cases that want to acquire busy locks. from Augment vm_page_grab to support more cases that want to acquire busy locks. Add a new function, vm_page_busy_acquire(), to support others. to Augment vm_page_grab to support more cases that want to acquire busy locks..
Aug 20 2019, 1:09 AM
jeff created D21332: Augment vm_page_grab to support more cases that want to acquire busy locks..
Aug 20 2019, 1:04 AM
jeff retitled D21331: Eliminate redundant code by introducing a vm_page_grab_valid() from Eliminate redundant code by introducing a vm_page_grab_valid that will use the pager to bring in pages that are not valid. to Eliminate redundant code by introducing a vm_page_grab_valid().
Aug 20 2019, 1:01 AM
jeff created D21331: Eliminate redundant code by introducing a vm_page_grab_valid().
Aug 20 2019, 12:47 AM
jeff added a comment to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..

Respond to review feedback. Eliminate the object locking changes for now.

Aug 20 2019, 12:46 AM

Aug 19 2019

jeff updated the summary of D21329: Bind to a CPU in the device's domain if UMA will allocate the memory there..
Aug 19 2019, 11:41 PM
jeff created D21329: Bind to a CPU in the device's domain if UMA will allocate the memory there..
Aug 19 2019, 11:39 PM
jeff committed rS351241: Use an atomic reference count for paging in progress so that callers do not.
Use an atomic reference count for paging in progress so that callers do not
Aug 19 2019, 11:10 PM
jeff closed D21311: Use atomics for paging in progress..
Aug 19 2019, 11:10 PM
jeff committed rS351235: Permit vm_pager_has_page() to run with a shared lock. Introduce.
Permit vm_pager_has_page() to run with a shared lock. Introduce
Aug 19 2019, 10:25 PM
jeff closed D21310: Allow calls to vm_pager_haspages with the object read locked.
Aug 19 2019, 10:25 PM
D16667: Extend uma_reclaim() to permit different reclamation targets. is now accepted and ready to land.
Aug 19 2019, 9:30 PM
jeff added inline comments to D21311: Use atomics for paging in progress..
Aug 19 2019, 5:56 PM
D20486: Change synchonization rules for page reference counting. is now accepted and ready to land.
Aug 19 2019, 1:03 AM
jeff added inline comments to D20486: Change synchonization rules for page reference counting..
Aug 19 2019, 12:00 AM

Aug 18 2019

jeff committed rS351200: Allocate all per-cpu datastructures in domain correct memory..
Allocate all per-cpu datastructures in domain correct memory.
Aug 18 2019, 11:44 PM
jeff closed D21242: Reallocate pcpu area on the correct domain..
Aug 18 2019, 11:44 PM
jeff added inline comments to D20486: Change synchonization rules for page reference counting..
Aug 18 2019, 11:40 PM
jeff committed rS351198: Allocate amd64's page array using pages and page directory pages from the.
Allocate amd64's page array using pages and page directory pages from the
Aug 18 2019, 11:08 PM
jeff closed D21252: Allocate the vm_page_array on domain correct memory..
Aug 18 2019, 11:08 PM
jeff committed rS351188: Add a blocking wait bit to refcount. This allows refs to be used as a simple.
Add a blocking wait bit to refcount. This allows refs to be used as a simple
Aug 18 2019, 11:44 AM
jeff closed D21254: Add support for blocking waits to refcounts..
Aug 18 2019, 11:44 AM
jeff created D21313: Eliminate redundant code by introducing a vm_page_grab_valid that will use the pager to bring in pages that are not valid..
Aug 18 2019, 9:27 AM
jeff updated the summary of D21311: Use atomics for paging in progress..
Aug 18 2019, 8:54 AM
jeff created D21311: Use atomics for paging in progress..
Aug 18 2019, 8:50 AM
jeff retitled D21310: Allow calls to vm_pager_haspages with the object read locked from Allow read locked objects to call has_pages to Allow calls to vm_pager_haspages with the object read locked.
Aug 18 2019, 8:46 AM
jeff created D21310: Allow calls to vm_pager_haspages with the object read locked.
Aug 18 2019, 8:44 AM
jeff added a comment to D21242: Reallocate pcpu area on the correct domain..

If there is no strong objection I will commit this tomorrow.

Aug 18 2019, 8:36 AM
jeff added inline comments to D21252: Allocate the vm_page_array on domain correct memory..
Aug 18 2019, 8:35 AM
jeff updated the summary of D21252: Allocate the vm_page_array on domain correct memory..

Address review feedback. Move the page array between the direct map and kva.

Aug 18 2019, 8:32 AM
jeff committed rS351183: Remove unnecessary debugging from r351181 that caused powerpc build to fail..
Remove unnecessary debugging from r351181 that caused powerpc build to fail.
Aug 18 2019, 8:07 AM
jeff committed rS351182: vm_phys_avail_find is only used on NUMA kernels. Fix a build error..
vm_phys_avail_find is only used on NUMA kernels. Fix a build error.
Aug 18 2019, 7:43 AM
jeff committed rS351181: Encapsulate phys_avail manipulation in a set of simple routines. Add a.
Encapsulate phys_avail manipulation in a set of simple routines. Add a
Aug 18 2019, 7:06 AM
jeff closed D21251: Add phys_avail allocation routines..
Aug 18 2019, 7:06 AM
jeff added inline comments to D21251: Add phys_avail allocation routines..
Aug 18 2019, 6:40 AM

Aug 16 2019

jeff closed D21250: Move phys_avail and dump_avail into MI code..
Aug 16 2019, 4:56 PM
jeff committed rS351108: Move phys_avail definition into MI code. It is consumed in the MI layer and.
Move phys_avail definition into MI code. It is consumed in the MI layer and
Aug 16 2019, 12:45 AM

Aug 15 2019

jeff added a reviewer for D21242: Reallocate pcpu area on the correct domain.: mmacy.
Aug 15 2019, 7:29 PM

Aug 14 2019

jeff added a comment to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..

Address review feedback. Clean up patch. Switch to fcmpset and rel semantics.

Aug 14 2019, 11:11 PM
jeff added inline comments to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Aug 14 2019, 10:50 PM
jeff added a comment to D21254: Add support for blocking waits to refcounts..

Address review feedback

Aug 14 2019, 10:35 PM

Aug 13 2019

jeff added a comment to D21254: Add support for blocking waits to refcounts..

Address some of Markj's feedback. Move the last ref drop into a dedicated function to lessen text bloat.

Aug 13 2019, 9:56 PM
jeff added inline comments to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Aug 13 2019, 8:48 PM
jeff added inline comments to D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Aug 13 2019, 8:43 PM
jeff updated the summary of D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Aug 13 2019, 8:16 PM
jeff updated the summary of D21254: Add support for blocking waits to refcounts..
Aug 13 2019, 8:10 PM
jeff created D21255: Remove the page lock dependency on busy sleeps by using sleepq to avoid races..
Aug 13 2019, 8:08 PM
jeff created D21254: Add support for blocking waits to refcounts..
Aug 13 2019, 8:02 PM
jeff added inline comments to D21250: Move phys_avail and dump_avail into MI code..
Aug 13 2019, 5:56 PM
jeff updated the summary of D21250: Move phys_avail and dump_avail into MI code..
Aug 13 2019, 5:53 PM
jeff updated the summary of D21252: Allocate the vm_page_array on domain correct memory..
Aug 13 2019, 5:47 PM