summaryrefslogtreecommitdiff
path: root/src/VBox/Devices/Network/DevE1000.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/VBox/Devices/Network/DevE1000.cpp')
-rw-r--r--src/VBox/Devices/Network/DevE1000.cpp9
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