On Fri, Oct 26, 2007 at 01:11:11PM +0800, Cathy Zhou wrote: > Peter Memishian wrote: > > > > I believe the crossbow team has already changed the control messages > > > > (ioctls) to be handled by a non-stream device in their workspace. The > > new > > > > functions like agetf() would not be needed then. Do we still want to > > add it? > > > > > > It seems to me that if the plan for dld is to have a non-STREAMS control > > > device, then we should consider using that approach. > > > > Are they adding that device *only* because of this issue? > > > I am not sure. But I think the change also helps because we can then > cv_wait() in the control path. >
yes. cv_wait is one of the reasons. another reason is that we can now copyin/out arbitrary amounts of data between userland/kernel. the I_STR ioctl in use today in nevada has a hard limit of 64k and that restricts how much data can be returned in our walkers. (another alternative is to use M_IOCDATA/putmsg(), but I'd rather not do that.) eric
