win-pvdrivers

changeset 1106:2d392ecdd366 tip

Fix race is xenvbd causing 30 second freeze under high load
author James Harper <james.harper@bendigoit.com.au>
date Tue Nov 11 23:08:11 2014 +1100 (2014-11-11)
parents ef445b2286f7
children
files xenvbd_common/common_miniport.h
line diff
     1.1 --- a/xenvbd_common/common_miniport.h	Thu Sep 25 20:41:00 2014 +1000
     1.2 +++ b/xenvbd_common/common_miniport.h	Tue Nov 11 23:08:11 2014 +1100
     1.3 @@ -274,6 +274,7 @@ XenVbd_HandleEvent(PXENVBD_DEVICE_DATA x
     1.4        more_to_do = RING_HAS_UNCONSUMED_RESPONSES(&xvdd->ring);
     1.5        if (!more_to_do) {
     1.6          xvdd->ring.sring->rsp_event = i + max(1, (SHADOW_ENTRIES - xvdd->shadow_free) / 2);
     1.7 +        KeMemoryBarrier();
     1.8          more_to_do = RING_HAS_UNCONSUMED_RESPONSES(&xvdd->ring);
     1.9        }
    1.10      }