On 11/11/2010 10:56 AM, Tomoya MORINAGA wrote: >>>>> + if (priv->tx_obj == (PCH_OBJ_NUM + 1)) { /* Point tail Obj + 1 */ >>>>> + while (ioread32(&priv->regs->treq2) & 0xfc00) >>>>> + udelay(1); >>> >>> When points tail of Tx message object, >>> this driver waits until completion of all tx messaeg objects. >> >> Looping busy it not an option here. >> >>> Thus, application/driver ought not to be able to put Tx object exceed the >>> number of tx message object. >>> Thus I think these code(netif_stop_queue/netif_wake_queue) are completely >>> redundant. >> >> Nope - please remove the waiting completely and convert your flow >> control to netif_stop_queue/netif_wake_queue. >> > > I see. > I will remove like above. > > BTW, Let me know the reason. > Could you explain the reason why you deny looping busy loop ?
That would kill performance. cheers, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Industrial Linux Solutions | Phone: +49-231-2826-924 | Vertretung West/Dortmund | Fax: +49-5121-206917-5555 | Amtsgericht Hildesheim, HRA 2686 | http://www.pengutronix.de |
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Socketcan-core mailing list Socketcan-core@lists.berlios.de https://lists.berlios.de/mailman/listinfo/socketcan-core