|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
_______________________________________________I'd suggest not accessing the fields of the mbuf directly. If the code
is using an IOMbufMemoryCursor then I'd suggest calling
IOMbufMemoryCursor->getPhysicalSegmentsWithCoalesce() which takes a few
parameters one of which is a vector. If the vector length returned by
the call is greater than one, you can get the physical address of the
segment by accessing vector[ index ].location. This will allow Apple to
twiddle the mbuf structures behind your back without breaking your code.
Surely there is a performance hit if you do this?? Especially if your hardware means that you have
to copy the mbuf list to a transmit buffer anyway because of DMA/or other hardware limitations.
Coalesce() implies buffer copying and reallocation of the buffer chain which in general is
considered a good thing to minimise in any network stack --- less copying is better performance ???
Unless the MAC is especially efficient at buffer allocation and copying ??
darwin-drivers mailing list | email@hidden
Do not post admin requests to the list. They will be ignored.
|>Re: Wireless pcmcia Driver-Transmition,Queuing (From: Bob <email@hidden>)|
Visit the Apple Store online or at retail locations.
Copyright © 2011 Apple Inc. All rights reserved.