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 

Reply via email to