LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Greg KH <greg@kroah.com>
To: Sarah Bailey <saharabeara@gmail.com>,
	Kernel development list <linux-kernel@vger.kernel.org>,
	usb-hacking@svcs.cs.pdx.edu,
	USB development list <linux-usb-devel@lists.sourceforge.net>
Subject: Re: [linux-usb-devel] usbfs2: Why asynchronous I/O?
Date: Mon, 26 Feb 2007 16:20:23 -0800	[thread overview]
Message-ID: <20070227002023.GA13099@kroah.com> (raw)
In-Reply-To: <20070226085431.GA16499@localdomain>

On Mon, Feb 26, 2007 at 12:54:31AM -0800, Sarah Bailey wrote:
> Yes, a sane interface to the USRP was one of the main motivations for
> the new USB filesystem.  It remains to be seen whether we need a
> non-standard interface like io_submit, or whether threads with blocking
> I/O is fast enough and has the right semantics.

So, just for the sake of argument, how would one submit multiple urbs to
a single endpoint to ensure that the pipe is full with blocking I/O?
Would they have to:

  - open endpoint
  - create thread 1
  - create thread 2
  - create thread 3
  - create thread 4
  - send first packet to thread 1 to have it write to the endpoint.
  - send next packet to thread 2 to have it write to the endpoint.
  ...  and so on?

This seems very "hard" on userspace for something as simple as "I want
to send this data stream to the USB device as fast as is possible".

With async I/O you can just:
  - open endpoint
  - send first packet to endpoint with async write
  - send second packet to endpoint
  ... and so on


I'm all for using threads in userspace, as they are good ideas and very
powerful, but for a single data stream, they really seem like a complex
solution.

thanks,

greg k-h

  reply	other threads:[~2007-02-27  0:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20070225085755.GA4886@localdomain>
     [not found] ` <200702250853.03851.david-b@pacbell.net>
     [not found]   ` <20070225173302.GA12190@comsec.com>
2007-02-25 16:51     ` Alan Stern
2007-02-25 23:55       ` Greg KH
2007-02-26  2:22         ` Alan Stern
2007-02-26  8:54       ` Sarah Bailey
2007-02-27  0:20         ` Greg KH [this message]
2007-02-28 20:03         ` David Brownell
2007-02-25 17:42 David Brownell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070227002023.GA13099@kroah.com \
    --to=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=saharabeara@gmail.com \
    --cc=usb-hacking@svcs.cs.pdx.edu \
    --subject='Re: [linux-usb-devel] usbfs2: Why asynchronous I/O?' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).