On Sat, 2002-09-28 at 04:21, Andre Hedrick wrote:
> There is an issue of interrupt acknowledgement and when one can pre-empt.
> I would like to resolve the issue, but I need a global caller/notifier api
> from you so I can block IO in a safe spot on the 'data transfer' state
> bar. Yeah, blah blah on underfined terms.
>
> Some how I need to figure out how to address the pre-empt and keep the
> driver data stable. Initially I would suggest throttling back on the
> request size to maybe 4k or 8k regardless. I may not sound right but it
> will serve the purpose.
For things like old old broken PIO where interrupting the data stream
screws up the data thats actually already covered. Pre-empt does
actually do some things sensibly, and one of them is that when you hold
a lock or disable irq you also disable pre-empt. That means hdparm -u0
PIO interface code is still going to do the right thing
Reminds me though Robert (and Jeff)
drivers/net/8390.c still needs ei_start_xmit fixing
pre-emption should be disabled between
/* Mask interrupts from the ethercard.
SMP: We have to grab the lock here otherwise the IRQ handler
and
disable_irq_nosync(dev->irq);
spin_lock(&ei_local->page_lock);
So that we don't leave the IRQ disabled due to pre-emption
(that code is wonderfully deranged but its the only way to make 8390
based chips not screw up things like serial I/O on a SMP box)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Mon Sep 30 2002 - 22:00:36 EST