Slashdot Mirror


Intel Developers Demo USB 3.0 Throughput On Linux

Sarah Sharp writes "Intel's Open Source Technology Center is working on USB 3.0 support for Linux. USB 3.0 has wire speeds of 5Gbps and promises to be 10 times faster than USB 2.0. A recent video demo shows speeds that are 3.5 times faster than USB 2.0. The USB 3.0 drivers will be submitted to the mainline kernel when the eXtensible host controller interface (xHCI) specification reaches a 1.0 release."

7 of 231 comments (clear)

  1. Wha? by Weaselmancer · · Score: 4, Informative

    Could you please explain that a bit?

    It's my understanding that high throughput drivers usually use DMA.

    In my experience polled mode drivers are pretty rare. Especially in high throughput.

    --
    Weaselmancer
    rediculous.
    1. Re:Wha? by Hal_Porter · · Score: 5, Informative

      Yup the host sets up a structure in memory which lists all the USB endpoints. When a driver wants to do some IO it asks the host controller driver which adds a request into the structure with a pointer to a buffer. The host controller hardware reads the structure with busmaster DMA and generates the USB packets. When the device answers the host controller DMAs the data into the the driver's buffer interrupts the CPU. Then the host controller can pass the buffer back to the driver. Polling is done by leaving the request in the structure, it doesn't require any CPU activity. Intel like USB because they invented it, not as some sort of conspiracy to load your CPU.

      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
    2. Re:Wha? by raynet · · Score: 5, Informative

      Taken from wikipedia: "Although high-speed USB 2.0 nominally runs at a higher signaling rate (480 Mbit/s) than FireWire 400, typical USB PC-hosts rarely exceed sustained transfers of 280 Mbit/s, with 240 Mbit/s being more typical. This is likely due to USB's reliance on the host-processor to manage low-level USB protocol, whereas FireWire delegates the same tasks to the interface hardware. For example, the FireWire host interface supports memory-mapped devices, which allows high-level protocols to run without loading the host CPU with interrupts and buffer-copy operations."

      --
      - Raynet --> .
    3. Re:Wha? by mabhatter654 · · Score: 4, Informative

      This is why you can't have USB-to-USB devices like you have Firewire-to-Firewire devices. It's why USB is very bad for time-sensitive data like music and video, because you're always waiting for the host controller to do something on the CPU, which might be busy.. have you ever seen DMA to memory ever work properly on consumer grade hardware anyway?

      It's not so much a "scam" as it is designing to the market. Firewire devices have a non-trivial price premium because of the device-to-device controller... but that's why they can do things like daisy-chain or direct connect between computers with no special cables. On the other hand USB allows endpoint devices to be made very cheaply.. they have near-zero intelligence if you want. The USB host can be as "thick" or "thin" as the OEM wants... they can put all the host chip control in software drivers to keep chip cost down. They can also put all the control codes for devices in software... remember "wINKjets" that went obsolete with each new Windows version... they have almost no internal software at all.

  2. Re:What's in a name... by Mad+Merlin · · Score: 4, Informative

    'bursty' ... is that sort of like 'minty'? ;)

    No, it's that max speeds for USB 2.0 refer to the max burst speeds, not the maximum sustainable speed. A single 7200 RPM drive attached via USB 2.0 will be substantially slower than if you attached it via SATA or IDE, even though 60 MB/s (= 480 Mbit/s) should be enough for most drives.

  3. Re:Compared to USB 1... by MSG · · Score: 4, Informative

    Too bad they used Windows to show it performing about twice as fast as the Linux test ...

    The tests were nothing alike. The Linux demo was sending data to an actual storage device, not to a loopback device designed only to test throughput. The Linux driver also had a great deal of debugging code running which contributed to the relatively low throughput.

    None of which is to say that Linux was or deserved to be the star of this show. It's nice, however, to see technology vendors demonstrating software on platforms other than Windows.

  4. Re:What's in a name... by 0100010001010011 · · Score: 4, Informative

    Again, bull shiat. Use google before stating "recent developments."

    USB 2.0 was released in April 2000.

    Those licensing fees were announced in May 1999.

    In Jan 1999 Apple announced that it would be $1 per port. As far as I know it's always been $1 per port. Now I don't know of any devices with 10 ports on them (Making the licensing fee $10). Here's a CNET article from the same time.

    Both were before USB2.0 was released and considerably less than what you claim.