Source-Changes-HG archive

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

[src/trunk]: src/sys/net net: introduce IFQ_ENQUEUE_ISR to assemble packet qu...



details:   https://anonhg.NetBSD.org/src/rev/efd93b6900bd
branches:  trunk
changeset: 943162:efd93b6900bd
user:      ozaki-r <ozaki-r%NetBSD.org@localhost>
date:      Fri Aug 28 06:23:42 2020 +0000

description:
net: introduce IFQ_ENQUEUE_ISR to assemble packet queuing routines (NFCI)

diffstat:

 sys/net/if.h              |  16 +++++++++++++++-
 sys/net/if_arcsubr.c      |  15 +++------------
 sys/net/if_ethersubr.c    |  15 +++------------
 sys/net/if_ieee1394subr.c |  15 +++------------
 4 files changed, 24 insertions(+), 37 deletions(-)

diffs (138 lines):

diff -r 3b922dddbec0 -r efd93b6900bd sys/net/if.h
--- a/sys/net/if.h      Fri Aug 28 06:22:25 2020 +0000
+++ b/sys/net/if.h      Fri Aug 28 06:23:42 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if.h,v 1.283 2020/05/05 08:05:03 jdolecek Exp $        */
+/*     $NetBSD: if.h,v 1.284 2020/08/28 06:23:42 ozaki-r Exp $ */
 
 /*-
  * Copyright (c) 1999, 2000, 2001 The NetBSD Foundation, Inc.
@@ -1069,6 +1069,20 @@
 #define        IFQ_INC_DROPS(ifq)              ((ifq)->ifq_drops++)
 #define        IFQ_SET_MAXLEN(ifq, len)        ((ifq)->ifq_maxlen = (len))
 
+#define        IFQ_ENQUEUE_ISR(ifq, m, isr)                                    \
+do {                                                                   \
+       IFQ_LOCK(inq);                                                  \
+       if (IF_QFULL(inq)) {                                            \
+               IF_DROP(inq);                                           \
+               IFQ_UNLOCK(inq);                                        \
+               m_freem(m);                                             \
+       } else {                                                        \
+               IF_ENQUEUE(inq, m);                                     \
+               IFQ_UNLOCK(inq);                                        \
+               schednetisr(isr);                                       \
+       }                                                               \
+} while (/*CONSTCOND*/ 0)
+
 #include <sys/mallocvar.h>
 MALLOC_DECLARE(M_IFADDR);
 MALLOC_DECLARE(M_IFMADDR);
diff -r 3b922dddbec0 -r efd93b6900bd sys/net/if_arcsubr.c
--- a/sys/net/if_arcsubr.c      Fri Aug 28 06:22:25 2020 +0000
+++ b/sys/net/if_arcsubr.c      Fri Aug 28 06:23:42 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_arcsubr.c,v 1.81 2020/01/29 04:11:35 thorpej Exp $  */
+/*     $NetBSD: if_arcsubr.c,v 1.82 2020/08/28 06:23:42 ozaki-r Exp $  */
 
 /*
  * Copyright (c) 1994, 1995 Ignatios Souvatzis
@@ -35,7 +35,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_arcsubr.c,v 1.81 2020/01/29 04:11:35 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_arcsubr.c,v 1.82 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -580,16 +580,7 @@
                return;
        }
 
-       IFQ_LOCK(inq);
-       if (IF_QFULL(inq)) {
-               IF_DROP(inq);
-               IFQ_UNLOCK(inq);
-               m_freem(m);
-       } else {
-               IF_ENQUEUE(inq, m);
-               IFQ_UNLOCK(inq);
-               schednetisr(isr);
-       }
+       IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 /*
diff -r 3b922dddbec0 -r efd93b6900bd sys/net/if_ethersubr.c
--- a/sys/net/if_ethersubr.c    Fri Aug 28 06:22:25 2020 +0000
+++ b/sys/net/if_ethersubr.c    Fri Aug 28 06:23:42 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_ethersubr.c,v 1.284 2020/04/30 03:29:55 riastradh Exp $     */
+/*     $NetBSD: if_ethersubr.c,v 1.285 2020/08/28 06:23:42 ozaki-r Exp $       */
 
 /*
  * Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -61,7 +61,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.284 2020/04/30 03:29:55 riastradh Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ethersubr.c,v 1.285 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -944,16 +944,7 @@
                return;
        }
 
-       IFQ_LOCK(inq);
-       if (IF_QFULL(inq)) {
-               IF_DROP(inq);
-               IFQ_UNLOCK(inq);
-               m_freem(m);
-       } else {
-               IF_ENQUEUE(inq, m);
-               IFQ_UNLOCK(inq);
-               schednetisr(isr);
-       }
+       IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 /*
diff -r 3b922dddbec0 -r efd93b6900bd sys/net/if_ieee1394subr.c
--- a/sys/net/if_ieee1394subr.c Fri Aug 28 06:22:25 2020 +0000
+++ b/sys/net/if_ieee1394subr.c Fri Aug 28 06:23:42 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: if_ieee1394subr.c,v 1.65 2018/12/22 14:28:56 maxv Exp $        */
+/*     $NetBSD: if_ieee1394subr.c,v 1.66 2020/08/28 06:23:42 ozaki-r Exp $     */
 
 /*
  * Copyright (c) 2000 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.65 2018/12/22 14:28:56 maxv Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_ieee1394subr.c,v 1.66 2020/08/28 06:23:42 ozaki-r Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_inet.h"
@@ -404,16 +404,7 @@
                return;
        }
 
-       IFQ_LOCK(inq);
-       if (IF_QFULL(inq)) {
-               IF_DROP(inq);
-               IFQ_UNLOCK(inq);
-               m_freem(m);
-       } else {
-               IF_ENQUEUE(inq, m);
-               IFQ_UNLOCK(inq);
-               schednetisr(isr);
-       }
+       IFQ_ENQUEUE_ISR(inq, m, isr);
 }
 
 static struct mbuf *



Home | Main Index | Thread Index | Old Index