Author: markj
Date: Thu Nov 19 15:40:58 2020
New Revision: 367844
URL: https://svnweb.freebsd.org/changeset/base/367844

Log:
  Micro-optimize vm_page_pqbatch_submit()
  
  Avoid calling vm_page_domain() twice.
  
  Discussed with:       alc (in D27207)

Modified:
  head/sys/vm/vm_page.c

Modified: head/sys/vm/vm_page.c
==============================================================================
--- head/sys/vm/vm_page.c       Thu Nov 19 14:27:01 2020        (r367843)
+++ head/sys/vm/vm_page.c       Thu Nov 19 15:40:58 2020        (r367844)
@@ -3598,8 +3598,6 @@ vm_page_pqbatch_submit(vm_page_t m, uint8_t queue)
        KASSERT(queue < PQ_COUNT, ("invalid queue %d", queue));
 
        domain = vm_page_domain(m);
-       pq = &vm_pagequeue_domain(m)->vmd_pagequeues[queue];
-
        critical_enter();
        bq = DPCPU_PTR(pqbatch[domain][queue]);
        if (vm_batchqueue_insert(bq, m)) {
@@ -3607,6 +3605,8 @@ vm_page_pqbatch_submit(vm_page_t m, uint8_t queue)
                return;
        }
        critical_exit();
+
+       pq = &VM_DOMAIN(domain)->vmd_pagequeues[queue];
        vm_pagequeue_lock(pq);
        critical_enter();
        bq = DPCPU_PTR(pqbatch[domain][queue]);
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to