[4639] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

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

home help back first fref pref prev next nref lref last post