All of lore.kernel.org
 help / color / mirror / Atom feed
* qemu pcnet emulation problems.
@ 2006-03-22  1:02 Don Fry
  2006-03-22  1:36 ` Nivedita Singhvi
  0 siblings, 1 reply; 3+ messages in thread
From: Don Fry @ 2006-03-22  1:02 UTC (permalink / raw)
  To: xen-devel

There are/may be several other bugs with the qemu pcnet emulation.  I do
not know if there is any other serialization outside of this code, but if
both a transmit and a receive operation were to be performed at the same
time on different cpus, since the same buffer is used for both transmit
and receive, that would also cause data corruption.

Does anyone else know how this is prevented, or is this another source
of corruption?

Another thing I noticed, that will reduce throughput if corrected, is
that the wrong bit is being examined in the receive path, to determine
if mac level crc should be computed.  Right now, the wrong bit is being
checked and no mac level crc is being calculated.  If the right bit were
looked at, mac level crc would need to be computed, slowing down the
transfers.  However, since no driver cares about the crc right now,
since neither Linux or XP complain, could the code to compute the crc be
deleted?  Maybe just comment that the crc should be computed.

Any recommendations?

-- 
Don Fry
brazilnut@us.ibm.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: qemu pcnet emulation problems.
  2006-03-22  1:02 qemu pcnet emulation problems Don Fry
@ 2006-03-22  1:36 ` Nivedita Singhvi
  2006-03-22  9:08   ` Keir Fraser
  0 siblings, 1 reply; 3+ messages in thread
From: Nivedita Singhvi @ 2006-03-22  1:36 UTC (permalink / raw)
  To: Don Fry; +Cc: xen-devel

Don Fry wrote:
> There are/may be several other bugs with the qemu pcnet emulation.  I do

Not sure if Don mentioned this earlier, but for the benefit of those
who might need the context, please see Xen Bugzilla #574/#575.

> not know if there is any other serialization outside of this code, but if
> both a transmit and a receive operation were to be performed at the same
> time on different cpus, since the same buffer is used for both transmit
> and receive, that would also cause data corruption.
> 
> Does anyone else know how this is prevented, or is this another source
> of corruption?
> 
> Another thing I noticed, that will reduce throughput if corrected, is
> that the wrong bit is being examined in the receive path, to determine
> if mac level crc should be computed.  Right now, the wrong bit is being
> checked and no mac level crc is being calculated.  If the right bit were
> looked at, mac level crc would need to be computed, slowing down the
> transfers.  However, since no driver cares about the crc right now,
> since neither Linux or XP complain, could the code to compute the crc be
> deleted?  Maybe just comment that the crc should be computed.
> 
> Any recommendations?

I'd really like to continue to avoid the CRC computation between
domains, but intentionally, this time, in a clean way :).

thanks,
Nivedita

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: qemu pcnet emulation problems.
  2006-03-22  1:36 ` Nivedita Singhvi
@ 2006-03-22  9:08   ` Keir Fraser
  0 siblings, 0 replies; 3+ messages in thread
From: Keir Fraser @ 2006-03-22  9:08 UTC (permalink / raw)
  To: Nivedita Singhvi; +Cc: Don Fry, xen-devel


On 22 Mar 2006, at 01:36, Nivedita Singhvi wrote:

>> Another thing I noticed, that will reduce throughput if corrected, is
>> that the wrong bit is being examined in the receive path, to determine
>> if mac level crc should be computed.  Right now, the wrong bit is 
>> being
>> checked and no mac level crc is being calculated.  If the right bit 
>> were
>> looked at, mac level crc would need to be computed, slowing down the
>> transfers.  However, since no driver cares about the crc right now,
>> since neither Linux or XP complain, could the code to compute the crc 
>> be
>> deleted?  Maybe just comment that the crc should be computed.
>> Any recommendations?
>
> I'd really like to continue to avoid the CRC computation between
> domains, but intentionally, this time, in a clean way :).

The code should be deleted as the underlying physical transport (e.g., 
shared memory, physical Ethernet) will ensure link-layer integrity.

  -- Keir

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2006-03-22  9:08 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-03-22  1:02 qemu pcnet emulation problems Don Fry
2006-03-22  1:36 ` Nivedita Singhvi
2006-03-22  9:08   ` Keir Fraser

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.