diff options
author | Mark Johnston <markj@FreeBSD.org> | 2020-11-19 15:40:58 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2020-11-19 15:40:58 +0000 |
commit | 9e3e7376083af4bb68f1aa2f39858127f215955a (patch) | |
tree | 9eace898204a3de30e0f964ee7ad290f061a0400 /sys/vm/vm_page.c | |
parent | 44bef6729bd047ec5bbd656394fcc8e15f6a0f13 (diff) | |
download | src-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.c | 4 |
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]); |