Source-Changes-HG archive

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

[src/trunk]: src/sys/arch/arm/pic Improve a comment



details:   https://anonhg.NetBSD.org/src/rev/0a035da2d8aa
branches:  trunk
changeset: 956321:0a035da2d8aa
user:      skrll <skrll%NetBSD.org@localhost>
date:      Mon Oct 26 07:16:41 2020 +0000

description:
Improve a comment

diffstat:

 sys/arch/arm/pic/pic.c |  14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

diffs (39 lines):

diff -r 781f7ac7272c -r 0a035da2d8aa sys/arch/arm/pic/pic.c
--- a/sys/arch/arm/pic/pic.c    Mon Oct 26 07:14:42 2020 +0000
+++ b/sys/arch/arm/pic/pic.c    Mon Oct 26 07:16:41 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: pic.c,v 1.59 2020/10/26 07:14:42 skrll Exp $   */
+/*     $NetBSD: pic.c,v 1.60 2020/10/26 07:16:41 skrll Exp $   */
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
  * All rights reserved.
@@ -33,7 +33,7 @@
 #include "opt_multiprocessor.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.59 2020/10/26 07:14:42 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: pic.c,v 1.60 2020/10/26 07:16:41 skrll Exp $");
 
 #include <sys/param.h>
 #include <sys/atomic.h>
@@ -203,11 +203,19 @@
                if (pic == NULL || pic->pic_cpus == NULL)
                        continue;
                if (kcp == NULL || kcpuset_intersecting_p(kcp, pic->pic_cpus)) {
-                       // never send to ourself
+                       /*
+                        * Never send to ourself.
+                        *
+                        * This test uses pointer comparison for systems
+                        * that have a pic per cpu, e.g. RPI[23].  GIC sets
+                        * pic_cpus to kcpuset_running and handles "not for
+                        * self" internally.
+                        */
                        if (pic->pic_cpus == ci->ci_kcpuset)
                                continue;
 
                        (*pic->pic_ops->pic_ipi_send)(pic, kcp, ipi);
+
                        /*
                         * If we were targeting a single CPU or this pic
                         * handles all cpus, we're done.



Home | Main Index | Thread Index | Old Index