win-pvdrivers
changeset 877:254b8424e23b 0.11.0.275
Go back to targetting xennet DPC's to CPU0. Make sure they are high priority though.
author | James Harper <james.harper@bendigoit.com.au> |
---|---|
date | Mon Mar 14 23:06:04 2011 +1100 (2011-03-14) |
parents | 7ec9138621d6 |
children | 8d2238a25dfa |
files | xennet/xennet_rx.c xennet/xennet_tx.c |
line diff
1.1 --- a/xennet/xennet_rx.c Mon Mar 14 16:06:35 2011 +1100 1.2 +++ b/xennet/xennet_rx.c Mon Mar 14 23:06:04 2011 +1100 1.3 @@ -735,7 +735,7 @@ XenNet_RxBufferCheck(PKDPC dpc, PVOID co 1.4 if (!more_to_do) 1.5 { 1.6 xi->rx.sring->rsp_event = xi->rx.rsp_cons + 1; 1.7 - mb(); 1.8 + KeMemoryBarrier(); 1.9 more_to_do = RING_HAS_UNCONSUMED_RESPONSES(&xi->rx); 1.10 } 1.11 } while (more_to_do); 1.12 @@ -1016,8 +1016,8 @@ XenNet_RxInit(xennet_info_t *xi) 1.13 KeInitializeEvent(&xi->packet_returned_event, SynchronizationEvent, FALSE); 1.14 KeInitializeTimer(&xi->rx_timer); 1.15 KeInitializeDpc(&xi->rx_dpc, XenNet_RxBufferCheck, xi); 1.16 - //KeSetTargetProcessorDpc(&xi->rx_dpc, 0); 1.17 - //KeSetImportanceDpc(&xi->rx_dpc, HighImportance); 1.18 + KeSetTargetProcessorDpc(&xi->rx_dpc, 0); 1.19 + KeSetImportanceDpc(&xi->rx_dpc, HighImportance); 1.20 //KeInitializeDpc(&xi->rx_timer_dpc, XenNet_RxTimerDpc, xi); 1.21 status = NdisAllocateMemoryWithTag((PVOID)&xi->rxpi, sizeof(packet_info_t) * NdisSystemProcessorCount(), XENNET_POOL_TAG); 1.22 if (status != NDIS_STATUS_SUCCESS)
2.1 --- a/xennet/xennet_tx.c Mon Mar 14 16:06:35 2011 +1100 2.2 +++ b/xennet/xennet_tx.c Mon Mar 14 23:06:04 2011 +1100 2.3 @@ -659,7 +659,7 @@ XenNet_TxInit(xennet_info_t *xi) 2.4 KeInitializeDpc(&xi->tx_dpc, XenNet_TxBufferGC, xi); 2.5 /* dpcs are only serialised to a single processor */ 2.6 KeSetTargetProcessorDpc(&xi->tx_dpc, 0); 2.7 - //KeSetImportanceDpc(&xi->tx_dpc, HighImportance); 2.8 + KeSetImportanceDpc(&xi->tx_dpc, HighImportance); 2.9 InitializeListHead(&xi->tx_waiting_pkt_list); 2.10 2.11 KeInitializeEvent(&xi->tx_idle_event, SynchronizationEvent, FALSE);