The profiler seemed to indicate that a lot of time was being spent in the uhci-hcd module, so I tried the printer on the same CUPS setup but with a machine with a USB2 port rather than USB1 (and thus ehci-hcd and not uhci-hcd). Much better: the usb backend took a reasonable proportion of CPU cycles and didn't bottleneck everything else. So, I bought a cheap USB pcmcia card for the original machine: result, again, is that the USB backend is now behaving normally. So, problem resolved for me, but I still think this is a bug.
I don't think that this is a bug specifically with uhci-hcd, because I tested the old USB1 port with a USB hard drive and some file transfers, and they seemed to be about as fast as you'd expect (though I didn't do this very systematically). So I think it's maybe some interaction between cups and the uhci-hcd module. I don't really know much about the testing regime, but does CUPS get tested very much on old hardware? (If not, it sets unexpected traps for people like me who have an old machine and think "gosh, this would make a good printer spooler"). -- usb backend hogs cpu https://launchpad.net/bugs/55656 -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs