[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] PATCH: multicall and auto_translated in netfront.c
Le Vendredi 18 Août 2006 19:30, Steven Smith a écrit : > > diff -r bef360142b62 -r ee4aef404bce > > linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c --- > > a/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Mon Aug 14 > > 14:21:21 2006 -0600 +++ > > b/linux-2.6-xen-sparse/drivers/xen/netfront/netfront.c Fri Aug 18 > > 14:00:37 2006 +0200 @@ -1220,13 +1220,20 @@ err: > > > > /* Do all the remapping work, and M2P updates, in one big hypercall. */ > > if (likely(pages_done)) { > > - mcl = np->rx_mcl + pages_done; > > + unsigned int mcl_off; > > + > > + if (!xen_feature(XENFEAT_auto_translated_physmap)) > > + mcl_off = pages_done; > > + else > > + mcl_off = 0; > > + > > The intent of this code was that pages_done should be 0 if > auto_translated_physmap was set, so this should be a no-op. It gets > initialised to 0 at the top of the big loop, and is then only modified > by xennet_get_responses through its mcl_offset_p pointer. > xennet_get_responses only modifies it if > !xen_feature(XENFEAT_auto_translated_physmap). Am I simply confused? I didn't look deeply into the code. I have just viewed the result. pages_done is incremented by skb_queue_length. At first glance it does not depend on auto_translated. > (And, in fact, if pages_done != 0 then the mmu update you do next will > be incorrect) On ia64 mmu_update is no-op ;-) Tristan. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |