[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] Re: [PATCH] Fox for pcnet device model data corruption

On 25 Feb 2006, at 00:10, Kamble, Nitin A wrote:

Hi Ian,
   The attached patch fixes pcnet data corruption for VMX guests as reported by you. All the packets go through the qemu generic packet interface to the specific device model. In this case the device model is pcnet.
   The pcnet device model receiver is registered with it like this.
qemu_add_read_packet(nd, pcnet_can_receive, pcnet_receive, d);
   pcnet_can_receive function is used to tell the generic qemu framework that the DM can receive packets. It is suppose block incoming packets in the cases such as when the pcnet driver is not yet started by the OS or pcnet device is suspended or stopped by the OS or it is not ready to receive more packets.     When the traffic is heavy on the DM, its receive rings can get filled up, and it will has to drop the receiving packets. This patch detects this situation in the pcnet_can_receive() function and avoids dropping of packets. This mechanism is working as a bandwidth handshaking between device model and the sender. Dm is saying send me up to the rate at which I can handle it.

I can see that this may avoid packet loss, but does pcnet_receive really get confused and corrupt data if there is no spare space? It appears to check the same status flag that you check in your patch?

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.