Why timer interrupt is disabled?
David Woodhouse
dwmw2 at infradead.org
Mon May 28 11:36:15 EDT 2001
andreev at niisi.msk.ru said:
> It may happen that one CPU is reading and other CPU is writing data
> at the same time. So, the flash memory can return status value
> instead of data, for example. Does the chip->mutex lock provides
> necessary synchronization?
Yes. The flash driver is required to make that work correctly. The (blkdev)
request functions aren't required to be reentrant anyway, I believe.
> I look at the other block device drivers code and found, that
> io_request handlers do sti() in some cases. If you still don`t want
> to do it, we could use a softirq. In the do_fd_request(), the "bottom
> halves" is used for example. We could use a "bottom halves" or even a
> tasklet in our case. What do you think about this?
Take a look at the way it's done by the mtdblock device, with a kernel
thread.
--
dwmw2
More information about the linux-mtd
mailing list