Arduino Due - Serial speed?

(sorry, I was distracted by Project Euler, back now)

I am getting 10.67Khz on my desktop regardless of what I do, whether running your Python script, my command line (on a disk, ramdisk or /dev/null), on a hub, directly into the computer, with and without the keyboard/mouse plugged in. It does go up (to about 67KHz) when nothing is eating the data. On a Raspberry Pi I got about 4KHz, but that platform is known to have USB issues.

I am running an AMD Phenom II X6 1090T / Gigabyte GA-890 (about 2.5 years old). The computer can run RTL-SDR fine at 3Msps (a USB bandwidth of 6Mbytes/s) - so can the Raspberry Pi. OS is Kubuntu 12.10 64 bit.

The 'loopback' sketch is as follows:

void setup() {
  Serial.begin(115200);
  SerialUSB.begin(115200);
}
void loop() {
  if(Serial.available()){byte c=Serial.read();Serial.write(c);}
  if(SerialUSB.available()){byte c=SerialUSB.read();SerialUSB.write(c);}
}

Using any terminal program that can send a reasonably large file (I used gtkterm), send something to the Due at 115200. When connected to the programming port, it echos back fine. On the native port, only short sections at the beginning and end get echoed.