Messages in this thread | | | Subject | Re: disk head scheduling | Date | Mon, 22 Mar 1999 11:17:01 +0100 (MET) | From | (Rogier Wolff) |
| |
Linus Torvalds wrote: > Note that it really shouldn't be all that much work to change the actual > ll_rw_block.c layer - all the work is really in the devices themselves > (adding the mapping function, and making sure the SCSI layer in particular > can live with multiple queues).
To save on the (indirect) function call, I would like to suggest:
unsigned char **queue_numbers;
queue_number = queue_numbers[major][minor];
That would require 256 bytes of storage for every major that is in use in the system. That's two kilobytes for 8 majors in use. Acceptable I'd say.
Adding just a teeny bit of "policy" in a central place:
queue_number = queue_numbers[major][minor>>3];
reduces the amount of memory used by a factor of 8, but forces devices to have the same queue for every 8 minor numbers (e.g. partitions on a disk).
Roger.
-- ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2137555 ** *-- BitWizard writes Linux device drivers for any device you may have! --* * Never blow in a cat's ear because if you do, usually after three or * * four times, they will bite your lips! And they don't let go for at * * least a minute. -- Lisa Coburn, age 9
- 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/
| |