aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vm_page.c
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2020-11-19 15:40:58 +0000
committerMark Johnston <markj@FreeBSD.org>2020-11-19 15:40:58 +0000
commit9e3e7376083af4bb68f1aa2f39858127f215955a (patch)
tree9eace898204a3de30e0f964ee7ad290f061a0400 /sys/vm/vm_page.c
parent44bef6729bd047ec5bbd656394fcc8e15f6a0f13 (diff)
downloadsrc-9e3e7376083af4bb68f1aa2f39858127f215955a.tar.gz
src-9e3e7376083af4bb68f1aa2f39858127f215955a.zip
Micro-optimize vm_page_pqbatch_submit()
Avoid calling vm_page_domain() twice. Discussed with: alc (in D27207)
Notes
Notes: svn path=/head/; revision=367844
Diffstat (limited to 'sys/vm/vm_page.c')
-rw-r--r--sys/vm/vm_page.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
index e84f3c158cfb..c86373801ad4 100644
--- a/sys/vm/vm_page.c
+++ b/sys/vm/vm_page.c
@@ -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]);