diff options
author | jlemon <jlemon@FreeBSD.org> | 2003-03-04 23:19:55 +0000 |
---|---|---|
committer | jlemon <jlemon@FreeBSD.org> | 2003-03-04 23:19:55 +0000 |
commit | 04e28d5a816573d1300b4591306a8785d3ace29c (patch) | |
tree | f304f726e8973253d3e8a87e56119fec0276a61c /sys/dev/hea | |
parent | 45fcac94f475f1d18d50dde4f72eb51ee4abddcc (diff) | |
download | FreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.zip FreeBSD-src-04e28d5a816573d1300b4591306a8785d3ace29c.tar.gz |
Update netisr handling; Each SWI now registers its queue, and all queue
drain routines are done by swi_net, which allows for better queue control
at some future point. Packets may also be directly dispatched to a netisr
instead of queued, this may be of interest at some installations, but
currently defaults to off.
Reviewed by: hsu, silby, jayanth, sam
Sponsored by: DARPA, NAI Labs
Diffstat (limited to 'sys/dev/hea')
-rw-r--r-- | sys/dev/hea/eni_receive.c | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/dev/hea/eni_receive.c b/sys/dev/hea/eni_receive.c index 1ad4478..0fbf329 100644 --- a/sys/dev/hea/eni_receive.c +++ b/sys/dev/hea/eni_receive.c @@ -680,7 +680,6 @@ eni_recv_drain ( eup ) u_long DMA_Rdptr; u_long dma_wrp; u_long start, stop; - int que = 0; int s; s = splimp(); @@ -802,9 +801,7 @@ eni_recv_drain ( eup ) /* * Schedule callback */ - if (IF_HANDOFF(&atm_intrq, m, NULL)) { - que++; - } else { + if (! netisr_queue(NETISR_ATM, m)) { eup->eu_stats.eni_st_drv.drv_rv_intrq++; eup->eu_pif.pif_ierrors++; #ifdef DO_LOG @@ -827,13 +824,6 @@ next_buffer: } finish: (void) splx(s); - - /* - * If we found any completed buffers, schedule a call into - * the kernel to process the atm_intrq. - */ - if ( que ) - schednetisr(NETISR_ATM); return; } |