Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 03 Jan 1997 11:01:27 -0800
From:      Julian Elischer <julian@whistle.com>
To:        Joerg Wunsch <joerg_wunsch@uriah.heep.sax.de>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: Ideas on CD changers sought
Message-ID:  <32CD5787.59E2B600@whistle.com>
References:  <199701021747.SAA08128@uriah.heep.sax.de> <199701022154.QAA23215@hda.hda.com> <Mutt.19970103182309.j@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
J Wunsch wrote:
> 
> As Peter Dufault wrote:
> 
> > How about round robin scheduling the platters, maybe with hysteresis
> > on platter switching?
> >
> > Add a "changer queue" that is a queue of CD start queues to schedule
> > the changer resource.  A changerstart routine can then round robin
> > schedule across the active platters.
> 
> Hmm, but that would require we start distinguish changers from regular
> CD drives, right?
> 
> Is there any way to learn about the medium changing ability other than
> a hard-coded list of devices that are known to do it?

if a CD is on an LUN other than 0 it should be assumed to be a CD
changer,
(same for a CHANGER device. the base device can be assumed to be LUN 0)
on discovering this, it should be able to go to the device on LUN0 
and retroactively set a special "COMPLICATED" :) bit.

> 
> > Have changerstart schedule up to N transfers in a row for a given
> > unit by calling a derivation of the existing cdstart.  If N counts
> > down take the CD start queue off and enqueue it again at the tail
> > of the changer queue and move to the next CD start queue.  You want
> > to select N to be a number that gives you decent utilization, maybe
> > enough transfers to take twice as long as the change mechanism.
> 
> I think the medium change must even be artificially delayed for some
> amount, ``just in case'' some future request for the same platter
> arrives while it's swapped in.  The swapin/swapout times are extremely
> high (10 seconds), so it would IMHO justify to wait another 2 or 3
> seconds even on an empty queue.
> 
> > You can still come up with loads that will thrash this.  You could
> > add hysteresis to the platter switching with a minimum-time-at-a-platter
> > timeout.
> 
> That's probably about the same as my thoughts above.
> 
> --
> cheers, J"org
> 
> joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
> Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32CD5787.59E2B600>