Messages in this thread | | | Date | Tue, 2 Nov 1999 23:01:26 +0200 (IST) | From | Gadi Oxman <> | Subject | Re: Linux Buffer Cache Does Not Support Mirroring |
| |
Jeff,
BTW, the RAID code is also using the async b_end_io callback, to get a success/failure report on each I/O transaction. Cross reference raid5_end_request() in raid5.c and raid1_end_request() in raid1.c, which are installed as b_end_io callbacks in the buffers which go to the real block drivers. In the RAID-5 case, the callback function (called at the interrupt context) then wakes up a kernel thread for further processing.
Gadi
On Tue, 2 Nov 1999, Jeff V. Merkey wrote:
> > Alan, > > I'll try this. > > Jeff > > Alan Cox wrote: > > > > > I looked at the brw_page code. While everyone calls this an "async" > > > interface, in fact, it uses the same semantic as a sync interface and > > > does not allow support for callbacks. > > > > Its a function pointer. What else do you need other than passing a parameter > > void * or similar to get more flexibility. > > > > You can use the callback to wake a thread, you can schedule a task after > > IRQ completion, you can do stuff directly on the IRQ callback if you are > > careful about deadlocks. > > > > - > > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > > the body of a message to majordomo@vger.rutgers.edu > > Please read the FAQ at http://www.tux.org/lkml/ > > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.rutgers.edu > Please read the FAQ at http://www.tux.org/lkml/ > >
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |