|
|
RE: [PATCH 4/4] net/mlx4_en: Use atomic counter to decide when queue is full |
> > The Transmit and transmit completion flows execute from different contexts, > > which are not synchronized. Hence naive reading the of consumer index might > > give wrong value by the time it is being used, That could lead to a state of transmit timeout. > > Fix that by using atomic variable to maintain that index. > > > > Signed-off-by: Yevgeny Petrilin <yevgenyp@xxxxxxxxxxxxxx> > > I'm not convinced. There is only one place that actually changes > the counter. > > So it seems more like you have a missing memory barrier somewhere. Or just keep the two ring indexes - instead of keeping the number of 'active' entries as well. Then you don't have a variable which the tx setup and tx completion routines both update. David -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion] [Ethernet Bridging] [Linux Wireless Networking] [Linux Bluetooth Networking] [Linux Networking Users] [VLAN] [Git] [IETF Annouce] [Linux Assembly] [Security] [Bugtraq] [Photo] [Singles Social Networking] [Yosemite Information] [MIPS Linux] [ARM Linux Kernel] [ARM Linux] [Linux Virtualization] [Linux Security] [Linux IDE] [Linux RAID] [Linux SCSI] [Free Dating]
![]() |
![]() |