tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: physio split the request.. cannot proceed
On Mon, Dec 23, 2013 at 02:41:29PM +0000, Emmanuel Dreyfus wrote:
> On Mon, Dec 23, 2013 at 09:23:09AM -0500, Thor Lancelot Simon wrote:
> > > I adjusted the function that detects tape block size so that it is
> > > capped to MAXPHYS. I also fixed the debug message so that I get the
> > The resulting performance will leave much to be desired...
>
> I can imagine that. But it is better than a failure, and ir let me
> me make progress without wiating for your branch to be merged.
To be clear, using small blocks on modern tapes will probably lead to
a dramatic reduction in tape capacity, not just read and write speed.
Tapes can get very, very expensive, so a warning seemed to be in order!
For what it's worth, I've been *very* busy, but there's not actually much
left to do on the maxphys branch -- one mechanical task (resync it with head)
and a few head-scratchers:
1) What to do when a disk's maxphys becomes smaller? This can happen with
virtual-disk devices like LVM or RAIDframe when a component is attached
on a new bus. The simplest thing to do is to disallow such attaches.
2) Our read-ahead and write-behind logic needs to become smarter so it does
not aggressively issue MAXPHYS sized I/Os unless a true sequential read
or write pattern is detected!
3) A number of SCSI controller drivers (generally for RAID devices
implementing SCSI target on the controller itself) like arcmsr
are miscoded such that they cannot expose the optimal transfer
size for a disk until well _after_ it's attached. These need to be
reworked so that they do whatever look-aside they need to in order to
discover the right transfer size (in arcmsr's case, this means matching
the 'scsi disk' with a RAID volume in a separate datastructure) before
telling NetBSD the target is there.
4) Most ports won't benefit until they get MACHINE_MAXPHYS increased and
their bus drivers adjusted appropriately.
I actually think it would be appropriate to merge the branch to -current
with only #1 fixed, and at least a strategy in mind for dealing with #2.
It's just that there's a fairly extensive literature on #2, and I haven't
had time to read it!
Thor
Home |
Main Index |
Thread Index |
Old Index