On 1 Sep, 2014, at 9:32 pm, Dave Taht wrote:

>>> It would be cool to be able to program the ethernet hardware itself to
>>> return completion interrupts at a given transmit rate (so you could
>>> program the hardware to be any bandwidth not just 10/100/1000). Some
>>> hardware so far as I know supports this with a "pacing" feature.
>> 
>> Is there a summary of hardware features like this anywhere?  It'd be nice to 
>> see what us GEM and RTL proles are missing out on.  :-)
> 
> I'd like one.

Is there at least a list of drivers (both wired and wireless) which are BQL 
enabled?  If GEM is not in that list, it might explain why the PCI bus gets 
jammed solid on my PowerBook.

> There are certain 3rd party firmwares like octeon's
> where it seems possible to add more features to the firmware
> co-processor, in particular.

Octeon is basically a powerful, multi-core MIPS64 SoC that happens to have 
Ethernet hardware attached, and is available in NIC form.  These "NICs" look 
like miniature motherboards in PCIe-card format, complete with mini-SIMM slots. 
 Utter overkill for normal applications; they're meant to do encryption on the 
fly, and were originally introduced as Ethernet-less coprocessor cards for that 
purpose.  At least they represent a good example of what high-end MIPS is like 
these days.

The original Bigfoot KillerNIC was along those lines, too, but slightly less 
overdone.  It still managed to cost $250+, and Newegg still lists a price in 
that general range despite being permanently out of stock.  As well as running 
Linux on the card itself, the drivers apparently replaced large parts of the 
Windows network stack in the quest for efficiency and low latency.  Results 
varied; Anandtech suggested that the biggest improvements probably came on 
cheaper PCs, whose owners wouldn't be able to justify such a high-priced NIC - 
and that was in 2007.

I can't tell what the newer products under the Killer brand (taken over by 
Qualcomm/Atheros) really are, but they are sufficiently reduced in cost, size 
and complexity to be integrated into "gamer" PC motherboards and laptops, and 
they respond to being driven like standard (newish) Atheros hardware.  In 
particular, it's unclear whether they do most of their special sauce in 
software (so Windows-specific) or firmware.

Comments I hear sometimes seem to imply that *some* Atheros hardware runs 
internal firmware.  Whether that is strictly wireless hardware, or whether it 
extends into Ethernet, I can't yet tell.  Since it's widely deployed, it would 
theoretically be a good platform for experimentation - but in practice?

> tc qdisc add dev eth0 cake bandwidth 50mbit diffservmap std

Or even having the "diffservmap std" part be in the defaults.  I try not to 
spend too much mental effort understanding diffserv - it's widely 
misunderstood, and most end-user applications ignore it.  Supporting the basic 
eight precedences, and maybe some userspace effort to introduce marking, should 
be enough.

I like the name, though.  :-)

 - Jonathan Morton

_______________________________________________
Cerowrt-devel mailing list
Cerowrt-devel@lists.bufferbloat.net
https://lists.bufferbloat.net/listinfo/cerowrt-devel

Reply via email to