[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] RE: [Xen-devel] RE: GPLPV: Respecting SG capability
> Another piece of future work will be to have > the net driver disable sg if the backend doesn't have "feature-sg" set to 1 in > xenstore. I've just pushed a fix for that - config-sg should now be disabled of feature-sg is 0 in the backend. Let me know how it goes (nothing actually uses config-sg yet though). Contrary to my ramblings in the previous email, it may just be best to allocate a bunch of MTU sized buffers and coalesce to those instead, as you have done. So the patch will need to check for !config_sg and: . Make sure that TSO can only be a maximum of PAGE_SIZE (assuming sun supports TSO at all under Xen?) . Don't allocate the header buffers . Allocate packet buffers - NET_TX_RING_SIZE (256 I think) should be enough . Don't make the call to NdisMInitializeScatterGatherDma at all . Don't get ScatterGatherListPacketInfo at all (it won't exist due to the absence of the above call) . Most of the rest of what you did, except not to hbs but to the new buffers The reason for not calling NdisMInitializeScatterGatherDma when !config_sg is that it's expensive if we aren't going to use it. Does that sound like something you can put together? Also remember that NdisMAllocateSharedMemory calls my DMA_ADAPTER code in xenpci_pdo which constructs a bus-centric ('logical') address of ((GREF << PAGE_SHIFT) | page_offset), eg the grant table ref is encoded into the logical address, and the lower PAGE_SHIFT (12) bits remain the same as the virtual address. This is why the xennet driver doesn't have to bother allocating grant references - the bus driver does it all for it. James _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |