diff options
Diffstat (limited to 'src/VBox/Devices/Network/DevE1000.cpp')
| -rw-r--r-- | src/VBox/Devices/Network/DevE1000.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/VBox/Devices/Network/DevE1000.cpp b/src/VBox/Devices/Network/DevE1000.cpp index b71bc605a..2f3b9f679 100644 --- a/src/VBox/Devices/Network/DevE1000.cpp +++ b/src/VBox/Devices/Network/DevE1000.cpp @@ -1,4 +1,4 @@ -/* $Id: DevE1000.cpp 29439 2010-05-13 00:32:18Z vboxsync $ */ +/* $Id: DevE1000.cpp 29685 2010-05-20 11:36:28Z vboxsync $ */ /** @file * DevE1000 - Intel 82540EM Ethernet Controller Emulation. * @@ -2643,7 +2643,12 @@ static int e1kRegWriteRDT(E1KSTATE* pState, uint32_t offset, uint32_t index, uin e1kCsRxLeave(pState); if (RT_SUCCESS(rc)) { -#ifdef IN_RING3 /** @todo bird: Use SUPSem* for this so we can signal it in ring-0 as well. (reduces latency) */ +/** @todo bird: Use SUPSem* for this so we can signal it in ring-0 as well + * without requiring any context switches. We should also check the + * wait condition before bothering to queue the item as we're currently + * queuing thousands of items per second here in a normal transmit + * scenario. Expect performance changes when fixing this! */ +#ifdef IN_RING3 /* Signal that we have more receive descriptors avalable. */ e1kWakeupReceive(pState->CTX_SUFF(pDevIns)); #else |
