[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: XenVif div by zero on Tx path after resume.


  • To: "paul@xxxxxxx" <paul@xxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Martin Harvey <martin.harvey@xxxxxxxxxx>
  • Date: Thu, 28 Apr 2022 15:23:59 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0Xfsgf1FYJzszPh4vYOp1eD1thLljKz7d9DGqogpRPI=; b=NfNHBAKcFTzR/jjLXGjaXaGlF9izgIQGceuBiqj04Ge3jmW+mYasOEDyzHzSdu20G8aujr1DCYp7xC4OmXSxy0nh3FNglthdXEVHNxp4YIUD2wHRqqqvR31YvXzlCBk0o+owdivdotn/v7GzVTdFPRMG1D0JHajSs65or9upFlAj2g1lp1fE2MEmUFCYQAItE36G5qGOZbQKC1zWmCs3q+0OzQvNLMxqJfC5gNoGUvIW7XGZzbKYv3PBTBKCflfTq1p5D6clthhdaqApNqby9pgiHPCrjHZp5uNysnCp0DQLlA+8YI0rHA56UKodT3V27Ub61K6FO9Frb2YvotV4vQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QMn2XE0c9lHNaVjp9ddEsDOUGMutbwalXNDJTQVUKtbzdJ4QFFxaaTnk7i4AwaRLa/WWtqYBkUDQHDaGlzK0Gz8jp7cmQj/g5jji2JqTg9KW1jCM7yUeKSzk1+ZwO8qQDhdrz0CqPT57pbk8WP+5aNhTt+PnRSgpipYvBvyULRCqKb9aFRErRbJ8kJGzy4wKzuLSbxcFJ9xs8DTws+a/zqc2jK+FfbmfZCYim/Sd31+GdZTXIeFLxwGRDti113qTdGZxohIeD6FKhjsZo2sc2J/BDmpwfyhuV8OCX7uvHV95J2JT1FJQl6zD+4Za+18v6r6+dXJQF1CLCracffMUwA==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Thu, 28 Apr 2022 15:24:12 +0000
  • Ironport-data: A9a23:aChtda6ziwZGuGdXqZjCAAxRtFrGchMFZxGqfqrLsTDasY5as4F+v mEYCG6Obv6Oa2SkctFxaYXjpxhSuZCDztcwHgo4q3w2Hi5G8cbLO4+Ufxz6V8+wwmwvb67FA +E2MISowBUcFyeEzvuVGuG96yE6j8lkf5KkYAL+EnkZqTRMFWFw0HqPp8Zj2tQy2YTjU1vU0 T/Pi5a31GGNimYc3l08s8pvmDs31BglkGpF1rCWTakjUG72zxH5PrpGTU2CByKQrr1vNvy7X 47+IISRpQs1yfuP5uSNyd4XemVSKlLb0JPnZnB+A8BOiTAazsA+PzpS2FPxpi67hh3Q9+2dx umhurT3bQcLJJePtt1abDd9AihhE6Nq2LL+dC3XXcy7lyUqclPK6tA3VgQcG91d/ex6R2ZT6 fYfNTYBKAiZgP67y666Te8qgdk/KM7sP8UUvXQIITPxVK56B8ycBfiXo4YHh1/chegXdRraT 88QcyZualLAagdRN0Y/A5Mihua4wHL4dlW0rXrK/fNouDKKnWSd1pD0KvnNSsCRaf9xk1qdl kjF51TEDwgFYYn3JT2ttyjEavX0tTvyRYY6BLC+sPlwjzW72W0VTQUIEFe2v/S9okq/QM5Eb VwZ/DI0qqo//1DtScPyNyBUu1aBtx8YHtBWQ+sz7VjXzrKOulnCQG8ZUjRGddoq8tcsQiAn3 UOImNWvAiFztLqSSjSW8bL8QS6OBBX55FQqPUcsJTbpKfG4yG3vpnojlupeLZM=
  • Ironport-hdrordr: A9a23:teDnSajavAaV6e0A73VJL8U6enBQX2513DAbv31ZSRFFG/FwyP rCoB1L73XJYWgqM03IwerwQJVoMkmsjqKdhrNhd4tKPTOW81dASbsP0WKM+UyFJ8STzI9gPO JbAtFD4b7LfBVHZKTBkW6F+r8bqbHpnpxAx92uqUuFJjsaCJ2Imj0JbzpzZXcGJjWua6BYKL Osou584xawc3Ueacq2QlMfWfLYmtHNnJX6JTYbGh8O8mC1/HyVwY+/NyLd8gYVUjtJz7tn23 PCiRbF6qKqtOz+4gPA1lXU849dlLLau5V+7Y23+4kowwfX+0WVjbdaKv+/VfcO0aSSAWMR4Z nxStEbToBOAj3qDyaISFDWqnPdOX4VmgLfIBmj8DfeSIXCNU4HItsEioRDfhTD7U08+Nl6za JQxmqc84FaFBXagU3Glq71vjxR5z6JSEAZ4JkuZr1kIPsjQa4UqZZa8FJeEZ8GEi6/4Ic7EP N2BMWZ4PpNa1uVY33Qo2EqmbWXLzwONwbDRlJHtt2e0jBQknw8x0wExNYHlnNF8J4mUZFL6+ nNL6wtnrBTSc0da757GY46MIKKI32IRQiJPHOZIFzhGq1CM3XRq4Tv6LFw/+2ucIxg9upGpH 0AaiIriYcfQTORNSTV5uw1zvnkehTNYR39jsdD+pN+prrwALL2LCzrciFcr/ed
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Thread-index: AdhP6kAbDA19BbYtRECv6F4UUU/GxAD72daAAGmnvwAAAFp2cAAAUguAAC/5hJAAAFZNAAAAMhEAAANPABAAADUugAAAE7WQAIxlHgAAo7ANAA==
  • Thread-topic: XenVif div by zero on Tx path after resume.


-----Original Message-----
From: Durrant, Paul <xadimgnik@xxxxxxxxx> 
Sent: 25 April 2022 10:15
To: Martin Harvey <martin.harvey@xxxxxxxxxx>; paul@xxxxxxx; 
win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Subject: Re: XenVif div by zero on Tx path after resume.

> It then calls SyncRelease(). This runs the 'late' suspend callbacks and 
> terminates the DPCs on other CPUs, thus allowing threads to be scheduled. It 
> then lowers IRQL on the current CPU, which should mean a fall back to PASSIVE 
> as SuspendTrigger() is only ever called from the dedicated thread (running 
> FdoSuspend()).

Nice try. The mutual exclusion for the late callbacks depends on the other 
CPU's still spinning at dispatch - since plenty of other network processing 
also happens at dispatch. You need to complete *all* the late callbacks before 
releasing *any* of the CPU's from our DPC. One more step duly added in RFC 
patch.

MH.

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.