Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 01 Feb 2009 13:00:51 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        hselasky@c2i.net
Cc:        freebsd-usb@freebsd.org, thompsa@freebsd.org
Subject:   Re: USB2 patches
Message-ID:  <20090201.130051.-2130550806.imp@bsdimp.com>
In-Reply-To: <200902012031.56899.hselasky@c2i.net>
References:  <200902012001.06914.hselasky@c2i.net> <20090201191432.GD32503@citylink.fud.org.nz> <200902012031.56899.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200902012031.56899.hselasky@c2i.net>
            Hans Petter Selasky <hselasky@c2i.net> writes:
: On Sunday 01 February 2009, Andrew Thompson wrote:
: > On Sun, Feb 01, 2009 at 08:01:05PM +0100, Hans Petter Selasky wrote:
: > > Hi Andrew,
: > >
: > > Regarding using taskqueues.
: > >
: > > Yes - USB2 can use taskqueues, but I would very much like to have the
: > > original queueing mechanism intact.
: >
: > Can you explain this further? What is t0 vs t1?
: >
: > A taskqueue will execute tasks sequentially, 
: 
: Hi Andrew,
: 
: I've looked in the taskqueue code:
: 
:         if (task->ta_pending) {
:                 task->ta_pending++;
:                 TQ_UNLOCK(queue);
:                 return 0;
:         }
: 
: Take the following for example. Now you changed it a little bit, but I see 
: similar issues where other commands are involved:
: 
: 1) queue DTR on cmd
: 2) queue DTR off cmd
: 3) queue DTR on cmd

This is a bad example.  In this case, clearly you'd want to turn it
on, wait for it to go on, wait a while, turn it off, wait for it to go
off, wait a while, then repeat the on part.  If you are trying to get
a notch signal in DTR, you have to cope this way.  If you are
implementing an ioctl from userland to do this (as exposed by the tty
system), then you'd need to wait for the DTR command to finish anyway
before returning to userland, no?

There's likely other reasons for wanting to do this, but DTR changes
should be synchronous to the caller.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090201.130051.-2130550806.imp>