[4639] in linux-scsi channel archive
raw disk question
daemon@ATHENA.MIT.EDU (Scott Leutenegger)
Wed Sep 2 13:17:55 1998
Date: Wed, 2 Sep 1998 10:33:27 -0600 (MDT)
From: Scott Leutenegger <leut@cs.du.edu>
To: linux-scsi@vger.rutgers.edu
Hi all,
I need to have a raw disk partition for SCSI.
I have posted a few questions to news groups but no luck.
Does anyone have a RAW scsi disk device driver they have written
that they can share?
Below is my explanation of what I mean by raw disk and why I need them.
Thanks,
---Scott
Professor Scott T. Leutenegger Phone: 303-871-2821
Math and CS Dept, Univ of Denver FAX: 303-871-3010
2360 S. Gaylord Street email: leut@cs.du.edu
Denver, CO 80208-0189 http://www.cs.du.edu/users/leut
What I need:
Specifically, when a read is issued the data come from disk
(not cached in memory) and a write is actually immediately written
to disk (not cached in memory)
NOTE: we can do this in {BSD,solaris} by building a "raw disk" partition.
Linux appears not to give this as an option.
The block devices supported are buffered, this means the
reads/writes do NOT come-from/go-to disk (well eventually, but
subsequent reads to the same page come from memory).
Note, I am not a hard core OS type, my background is more in
analytical modeling of computer systems but recently has become
much more implementation oriented.
WHY we need this functionality:
First, no, we are not cocky enough to think we can do better
than Linux buffering. We need this ability to have predictable/repeatable
measurements for database research.
Background:
We are doing multi-dimensional index method design/development.
R-tree and grid file primarily, if interested check out some papers at:
www.cs.du.edu/users/leut/pubs.html
In order to have meaningful performance measures we measure
the number of disk accesses assuming an LRU buffer of a given size.
This allows us to use a data set of 500 pages, a buffer of 50 pages,
and claim that the performance is possibly indicative of what would
happen if data and buffer where both 10X larger.
Furthermore, it gives us reproducible results.
Attempts using Unix commands:
Are there any Unix(Linux) commands we are unaware of
that will force pages to disk and invalidate them so
subsequent reads have to go to disk?
Unix commands we have tried:
- setbuf(fp,NULL,_IONBF,0) but from the speed that it
executes it is clear it is still accessing memory pages, not disk.
- ioctl(_fd, BLKFLSBUF) This was an attempt to force stuff to
disk. It appears to be a VERY cpu intensive process (walking
through all buffer lists and scheduling writes) and hence
perturbs the measurements beyond use.
Help would be much appreciated. We may very well need to use solarix X86,
but would prefer to use Linux if possible.
Professor Scott T. Leutenegger Phone: 303-871-2821
Math and CS Dept, Univ of Denver FAX: 303-871-3010
2360 S. Gaylord Street email: leut@cs.du.edu
Denver, CO 80208-0189 http://www.cs.du.edu/users/leut
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.rutgers.edu