Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 19 Dec 2017 10:06:55 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r326974 - head/sys/vm
Message-ID:  <201712191006.vBJA6tEP037409@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712191006.vBJA6tEP037409>