Darren Reed wrote: > Crisson Hu wrote: >> I checked the tx/rx ring number of BCM5721 from the docs, it says the ring >> number is one. From the link[1], it discussed several chipsets whose rx/tx >> rings are possibly set to four, but we have to try it. >> >> >From the code side, bge_attach will set the tx_ring/rx_ring to that from >> >bge.conf, then calls bge_chip_id_init to reset the tx_ring/rx_ring of >> >BCM5721 to BGE_SEND_RINGS_MAX_5705/BGE_RECV_RINGS_MAX_5705 (which is >> >defined as one). This means you possibly need to change the code for that. >> > > It seems like a bug to define the maximum number of rings > with a constant. Do you know if crossbow fixes or changes > this?
The current framework of GLDv3 does not support multiple rings very well, especially on transmit, it's hard to fanout tx packets to different h/w tx rings. Crossbow let the driver advertise the number of rx/tx rings of the underlying h/w in advance. The choice of tx ring for transmit is made at the MAC layer. But in my mind the selection of fanout algorithm is not easy also due to the diversity of h/ws. --Lucy > > Darren > > _______________________________________________ > networking-discuss mailing list > [email protected] > _______________________________________________ networking-discuss mailing list [email protected]
