Messages in this thread | | | Date | Tue, 17 Oct 2000 18:04:32 +0100 | From | Malcolm Beattie <> | Subject | Re: New Benchmark tools, lookie looky........ |
| |
Larry McVoy writes: > On Tue, Oct 17, 2000 at 09:21:00AM -0700, Andre Hedrick wrote: > > Expand 'traces' ... O-SCOPE analyizer? > > Insert a ring buffer into the disk sort entry point. Add a userland process > which reads this ring buffer and gets the actual requests in the actual order > they are sent to the drive[s]. Then take that data and write a simulator into > which you can plug in different algs. I have all this crud for SunOS if you > want it, including elevator.c, hacksaw.c, and inorder.c.
I wrote a lightweight kernel->userland ring buffer device for Linux called bufflink and a block-request logger that uses it called reqlog. reqlog writes a structure struct reqlog { unsigned int major; unsigned int minor; unsigned long sector; long nr_sectors; }; to the ring buffer when an ioctl is done to enable logging. The current patch isn't quite what you were suggesting since it does roughly
add_request() { ... elevator_queue(req, tmp, latency, dev, current_request); + if (bl_reqlog && enable_reqlog) { + ... + bufflink_append(bl_reqlog, (unsigned char *)&rl, sizeof rl); + }
if (queue_new_request) (dev->request_fn)(); } but it would be easy to write the record (instead or as well) before the elevator_queue(). The patches are available from http://users.ox.ac.uk/~mbeattie/linux-kernel.html
--Malcolm
-- Malcolm Beattie <mbeattie@sable.ox.ac.uk> Unix Systems Programmer Oxford University Computing Services - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
| |