| To: | jamal <hadi@xxxxxxxxxx>, Donald Becker <becker@xxxxxxxxx>, netdev@xxxxxxxxxxx, kuznet@xxxxxxxxxxxxx |
|---|---|
| Subject: | Re: Queue and SMP locking discussion (was Re: 3c59x.c) |
| From: | Andrew Morton <andrewm@xxxxxxxxxx> |
| Date: | Fri, 31 Mar 2000 02:43:36 +0000 |
| References: | <Pine.LNX.4.10.10003301359200.2499-100000@vaio.greennet> <Pine.GSO.4.20.0003301529070.14621-100000@shell.cyberus.ca> <38E40D26.D34D72CB@uow.edu.au> |
| Sender: | owner-netdev@xxxxxxxxxxx |
Andrew Morton wrote:
>
> It appears to me that netif_wake_queue can be called multiple times
> within this loop,
Spit. I missed the test_and_set_bit(__LINK_STATE_XOFF...
I still question it though:
status = inw(ioaddr + EL3_STATUS);
do {
...
if (status & TxAvailable) {
outw(AckIntr | TxAvailable, ioaddr + EL3_CMD);
netif_wake_queue(dev);
}
....
} while ((status = inw(ioaddr + EL3_STATUS)) & (IntLatch | RxComplete));
Will 'inw(ioaddr + EL3_STATUS)' continue to have the TxAvailable bit set
even after it has been acked?
--
-akpm-
|
| Previous by Date: | Re: Queue and SMP locking discussion (was Re: 3c59x.c), Andrew Morton |
|---|---|
| Next by Date: | Re: Queue and SMP locking discussion (was Re: 3c59x.c), Werner Almesberger |
| Previous by Thread: | Re: Queue and SMP locking discussion (was Re: 3c59x.c), Andrew Morton |
| Next by Thread: | Re: Queue and SMP locking discussion (was Re: 3c59x.c), jamal |
| Indexes: | [Date] [Thread] [Top] [All Lists] |