svn commit: r326974 - head/sys/vm

Konstantin Belousov kib at FreeBSD.org
Tue Dec 19 10:06:57 UTC 2017


Author: kib
Date: Tue Dec 19 10:06:55 2017
New Revision: 326974
URL: https://svnweb.freebsd.org/changeset/base/326974

Log:
  Perform all accesses to uma_reclaim_needed using atomic(9) KPI.
  
  Reviewed by:	alc, jhb
  Sponsored by:	The FreeBSD Foundation
  MFC after:	1 week
  Differential revision:	https://reviews.freebsd.org/D13534

Modified:
  head/sys/vm/uma_core.c

Modified: head/sys/vm/uma_core.c
==============================================================================
--- head/sys/vm/uma_core.c	Tue Dec 19 10:05:45 2017	(r326973)
+++ head/sys/vm/uma_core.c	Tue Dec 19 10:06:55 2017	(r326974)
@@ -3170,14 +3170,14 @@ uma_reclaim_worker(void *arg __unused)
 
 	for (;;) {
 		sx_xlock(&uma_drain_lock);
-		while (uma_reclaim_needed == 0)
+		while (atomic_load_int(&uma_reclaim_needed) == 0)
 			sx_sleep(uma_reclaim, &uma_drain_lock, PVM, "umarcl",
 			    hz);
 		sx_xunlock(&uma_drain_lock);
 		EVENTHANDLER_INVOKE(vm_lowmem, VM_LOW_KMEM);
 		sx_xlock(&uma_drain_lock);
 		uma_reclaim_locked(true);
-		uma_reclaim_needed = 0;
+		atomic_store_int(&uma_reclaim_needed, 0);
 		sx_xunlock(&uma_drain_lock);
 		/* Don't fire more than once per-second. */
 		pause("umarclslp", hz);


More information about the svn-src-all mailing list