Date: Tue, 4 Aug 2020 19:52:17 +0000 (UTC) From: Mateusz Guzik <mjg@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r363854 - head/sys/kern Message-ID: <202008041952.074JqHt5009591@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mjg Date: Tue Aug 4 19:52:16 2020 New Revision: 363854 URL: https://svnweb.freebsd.org/changeset/base/363854 Log: rms: add a comment explaining performance deficiencies of write locking Modified: head/sys/kern/kern_rmlock.c Modified: head/sys/kern/kern_rmlock.c ============================================================================== --- head/sys/kern/kern_rmlock.c Tue Aug 4 19:44:43 2020 (r363853) +++ head/sys/kern/kern_rmlock.c Tue Aug 4 19:52:16 2020 (r363854) @@ -872,6 +872,10 @@ db_show_rm(const struct lock_object *lock) * Neither rms_rlock nor rms_runlock use fences. Instead compiler barriers are * inserted to prevert reordering of generated code. Execution ordering is * provided with the use of an IPI handler. + * + * No attempt is made to track which CPUs read locked at least once, + * consequently write locking sends IPIs to all of them. This will become a + * problem at some point. The easiest way to lessen it is to provide a bitmamp. */ void
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202008041952.074JqHt5009591>