Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/share/man/man9 ipi(9): Document memory ordering guarantees.



details:   https://anonhg.NetBSD.org/src/rev/5fe06d1dc041
branches:  trunk
changeset: 361139:5fe06d1dc041
user:      riastradh <riastradh%NetBSD.org@localhost>
date:      Sat Feb 12 01:21:11 2022 +0000

description:
ipi(9): Document memory ordering guarantees.

diffstat:

 share/man/man9/ipi.9 |  19 ++++++++++++++++++-
 1 files changed, 18 insertions(+), 1 deletions(-)

diffs (33 lines):

diff -r 66671f9bdbcd -r 5fe06d1dc041 share/man/man9/ipi.9
--- a/share/man/man9/ipi.9      Sat Feb 12 01:15:17 2022 +0000
+++ b/share/man/man9/ipi.9      Sat Feb 12 01:21:11 2022 +0000
@@ -1,4 +1,4 @@
-.\" $NetBSD: ipi.9,v 1.5 2020/09/02 19:04:05 riastradh Exp $
+.\" $NetBSD: ipi.9,v 1.6 2022/02/12 01:21:11 riastradh Exp $
 .\"
 .\" Copyright (c) 2014, 2019 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -170,6 +170,23 @@
 function) before the IPI message structure can be destroyed or new
 cross-call requests can be performed.
 .\" -----
+.Sh MEMORY ORDER
+All memory operations that happen before triggering an IPI, via
+.Fn ipi_trigger ,
+.Fn ipi_trigger_multi ,
+.Fn ipi_trigger_broadcast ,
+.Fn ipi_unicast ,
+.Fn ipi_multicast ,
+or
+.Fn ipi_broadcast ,
+also happen before any memory operations in the IPI handler function on
+the remote CPU.
+.Pp
+For synchronous IPIs, all memory operations that happen before the IPI
+handler function has returned on the remote CPU also happen before
+.Fn ipi_wait
+returns on the waiting CPU.
+.\" -----
 .Sh NOTES
 Functions being called must be lightweight.
 They run at



Home | Main Index | Thread Index | Old Index