Module Name:    src
Committed By:   knakahara
Date:           Mon Nov 27 05:03:11 UTC 2017

Modified Files:
        src/sys/net: if_gif.h

Log Message:
update gif(4) locking notes.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 src/sys/net/if_gif.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/net/if_gif.h
diff -u src/sys/net/if_gif.h:1.28 src/sys/net/if_gif.h:1.29
--- src/sys/net/if_gif.h:1.28	Mon Nov 27 05:02:22 2017
+++ src/sys/net/if_gif.h	Mon Nov 27 05:03:11 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_gif.h,v 1.28 2017/11/27 05:02:22 knakahara Exp $	*/
+/*	$NetBSD: if_gif.h,v 1.29 2017/11/27 05:03:11 knakahara Exp $	*/
 /*	$KAME: if_gif.h,v 1.23 2001/07/27 09:21:42 itojun Exp $	*/
 
 /*
@@ -140,14 +140,15 @@ int	gif_encapcheck(struct mbuf *, int, i
  * + gif_softc_list is protected by gif_softcs.lock (an adaptive mutex)
  *       gif_softc_list is list of all gif_softcs. It is used by ioctl
  *       context only.
- * + Members of struct gif_softc except for gif_ro_percpu are protected by
- *   - encap_lock for writer
- *   - stopping processing when writer begin to run
- *     for reader(Tx and Rx processing)
+ * + gif_softc->gif_var is protected by
+ *   - gif_softc->gif_lock (an adaptive mutex) for writer
+ *   - gif_var->gv_psref for reader
+ *       gif_softc->gif_var is used for variant values while the gif tunnel
+ *       exists.
  * + Each CPU's gif_ro.gr_ro of gif_ro_percpu are protected by
  *   percpu'ed gif_ro.gr_lock.
  *
  * Locking order:
- *     - encap_lock => gif_softcs.lock
+ *     - encap_lock => gif_softc->gif_lock => gif_softcs.lock
  */
 #endif /* !_NET_IF_GIF_H_ */

Reply via email to