Module Name: src
Committed By: msaitoh
Date: Thu May 15 09:23:52 UTC 2014
Modified Files:
src/sys/dev/ic: hd64570.c
src/sys/dev/qbus: if_dmc.c
src/sys/dev/usb: if_upl.c
Log Message:
Save a NETISR_* value in a variable and call schednetisr() after enqueue
a packet for readability and future modification.
To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 src/sys/dev/ic/hd64570.c
cvs rdiff -u -r1.21 -r1.22 src/sys/dev/qbus/if_dmc.c
cvs rdiff -u -r1.44 -r1.45 src/sys/dev/usb/if_upl.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/ic/hd64570.c
diff -u src/sys/dev/ic/hd64570.c:1.45 src/sys/dev/ic/hd64570.c:1.46
--- src/sys/dev/ic/hd64570.c:1.45 Sat Sep 14 13:09:18 2013
+++ src/sys/dev/ic/hd64570.c Thu May 15 09:23:52 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: hd64570.c,v 1.45 2013/09/14 13:09:18 joerg Exp $ */
+/* $NetBSD: hd64570.c,v 1.46 2014/05/15 09:23:52 msaitoh Exp $ */
/*
* Copyright (c) 1999 Christian E. Hopps
@@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.45 2013/09/14 13:09:18 joerg Exp $");
+__KERNEL_RCSID(0, "$NetBSD: hd64570.c,v 1.46 2014/05/15 09:23:52 msaitoh Exp $");
#include "opt_inet.h"
@@ -1536,6 +1536,7 @@ sca_frame_process(sca_port_t *scp)
u_int8_t *bufp;
u_int16_t len;
u_int32_t t;
+ int isr = 0;
t = time_uptime * 1000;
desc = &scp->sp_rxdesc[scp->sp_rxstart];
@@ -1587,7 +1588,7 @@ sca_frame_process(sca_port_t *scp)
m->m_data += sizeof(struct hdlc_header);
m->m_len -= sizeof(struct hdlc_header);
ifq = &ipintrq;
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
break;
#endif /* INET */
#ifdef INET6
@@ -1598,7 +1599,7 @@ sca_frame_process(sca_port_t *scp)
m->m_data += sizeof(struct hdlc_header);
m->m_len -= sizeof(struct hdlc_header);
ifq = &ip6intrq;
- schednetisr(NETISR_IPV6);
+ isr = NETISR_IPV6;
break;
#endif /* INET6 */
case CISCO_KEEPALIVE:
@@ -1691,6 +1692,7 @@ sca_frame_process(sca_port_t *scp)
/* queue the packet */
if (!IF_QFULL(ifq)) {
IF_ENQUEUE(ifq, m);
+ schednetisr(isr);
} else {
IF_DROP(ifq);
scp->sp_if.if_iqdrops++;
Index: src/sys/dev/qbus/if_dmc.c
diff -u src/sys/dev/qbus/if_dmc.c:1.21 src/sys/dev/qbus/if_dmc.c:1.22
--- src/sys/dev/qbus/if_dmc.c:1.21 Sat Oct 27 17:18:37 2012
+++ src/sys/dev/qbus/if_dmc.c Thu May 15 09:23:52 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_dmc.c,v 1.21 2012/10/27 17:18:37 chs Exp $ */
+/* $NetBSD: if_dmc.c,v 1.22 2014/05/15 09:23:52 msaitoh Exp $ */
/*
* Copyright (c) 1982, 1986 Regents of the University of California.
* All rights reserved.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_dmc.c,v 1.21 2012/10/27 17:18:37 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_dmc.c,v 1.22 2014/05/15 09:23:52 msaitoh Exp $");
#undef DMCDEBUG /* for base table dump on fatal error */
@@ -560,6 +560,7 @@ dmcxint(void *a)
struct ifxmt *ifxp;
struct dmc_header *dh;
char buf[64];
+ int isr = 0;
ifp = &sc->sc_if;
@@ -627,7 +628,7 @@ dmcxint(void *a)
#ifdef INET
case DMC_IPTYPE:
- schednetisr(NETISR_IP);
+ isr = NETISR_IP;
inq = &ipintrq;
break;
#endif
@@ -640,8 +641,10 @@ dmcxint(void *a)
if (IF_QFULL(inq)) {
IF_DROP(inq);
m_freem(m);
- } else
+ } else {
IF_ENQUEUE(inq, m);
+ schednetisr(isr);
+ }
splx(s);
setup:
Index: src/sys/dev/usb/if_upl.c
diff -u src/sys/dev/usb/if_upl.c:1.44 src/sys/dev/usb/if_upl.c:1.45
--- src/sys/dev/usb/if_upl.c:1.44 Sat Jan 5 01:30:16 2013
+++ src/sys/dev/usb/if_upl.c Thu May 15 09:23:52 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: if_upl.c,v 1.44 2013/01/05 01:30:16 christos Exp $ */
+/* $NetBSD: if_upl.c,v 1.45 2014/05/15 09:23:52 msaitoh Exp $ */
/*
* Copyright (c) 2000 The NetBSD Foundation, Inc.
* All rights reserved.
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.44 2013/01/05 01:30:16 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_upl.c,v 1.45 2014/05/15 09:23:52 msaitoh Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1038,7 +1038,6 @@ upl_input(struct ifnet *ifp, struct mbuf
/* XXX Assume all traffic is IP */
- schednetisr(NETISR_IP);
inq = &ipintrq;
s = splnet();
@@ -1053,6 +1052,7 @@ upl_input(struct ifnet *ifp, struct mbuf
return;
}
IF_ENQUEUE(inq, m);
+ schednetisr(NETISR_IP);
splx(s);
#endif
ifp->if_ipackets++;