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

RE: Use of newer locking primitives...


  • To: "paul@xxxxxxx" <paul@xxxxxxx>, "win-pv-devel@xxxxxxxxxxxxxxxxxxxx" <win-pv-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Martin Harvey <martin.harvey@xxxxxxxxxx>
  • Date: Thu, 1 Sep 2022 09:25:24 +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=eTd51Rsgj61/XHvlDZza5i/SiQzni8DnTxqHBTPi5Xk=; b=iRzzgjZZQhL9GxtTxuc3Uc6tT9vQ1w3uv2+WFHKPtuoM7Zf7bcltdpMcFfJi5bqaIr2qjV/9RxulAboP+Cws+KXBSLzl5UiUZFbQTxsuDB2DrVj+uuFUC2iLUG39K3pOoR+iCymB5/nn1tsvodvEyXeEVDXLD/R0WTlk8uJ4ZPxpMGyuxXDxOtdqtRRJ0G/VA/9ihTkp2eDxhQJPMesvG653MpNxX5nH56h59/hTPi8RGzQKBsXjU2opnvzyr8gcNViVgkwUxyQUWlBQiCcsE7hwnaABQyxYcBCO0w7XwsjroN//4kHlRcZj1fMp7W4ktfhdwwF3HFBCTagSm/Skiw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N4IF1uZjpDz/Uted+QLXDwYsDWPRbpqI+wne9Ghzhymikx6sC4sT0vPmjd6XCecK8mrX6SrJTU6RhMk2TWoOnW2dg5rQjXy+Jzxy8PhXr7Q4Jg3B+E8LZyJ9krVEP1K2l358tIaY5tIBQY8s/blth5NkYD8YdVK8KwJXgbu6CjoAOY8Uti2L+90rDGzCkzvBVVSIhHPjSFaUZWQploX+G0CRikv0kxLzXv9vDzIHwrCrtCn7ZnzHMv6NaQwRwXHLqT01j9UMkqc8SfidMe1MpVlIbN+50xodKpSA38K0OGBsIjAvWsGf5KaoWWbx2mIY6sj1ryA5ZLkdZttxLZ11RQ==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Delivery-date: Thu, 01 Sep 2022 09:25:39 +0000
  • Ironport-data: A9a23:BZOHcahZcl126n8BUyW03iy/X161aBEKZh0ujC45NGQN5FlHY01je htvX2+EOqncYWv9LYpzaIzloBhTuJ/UmNBrTAQ/pX9nQn8b9cadCdqndUqhZCn6wu8v7a5EA 2fyTvGacajYm1eF/k/F3oDJ9CU6j+fQLlbFILasEjhrQgN5QzsWhxtmmuoo6qZlmtH8CA6W0 T/Ii5S31GSNhnglaQr414rZ8Ek15KWq4WtB1rADTasjUGH2xiF94K03fcldH1OgKqFIE+izQ fr0zb3R1gs1KD90V7tJOp6iGqE7aua60Tqm0xK6aID76vR2nQQg075TCRYpQRw/ZwNlPTxG4 I4lWZSYEW/FN0BX8QgXe0Ew/ypWZcWq9FJbSJQWXAP6I0DuKhPRL/tS4E4eJZwe89ooDGR06 e0qeDIBaQ+shPur3+fuIgVsrpxLwMjDGqo64ysl4RSHSPEsTNbEXrnA4sJe0HEonMdSEP3CZ s0fLz1ycBDHZB4JMVASYH48tL7w2j+jLHsF+RTM+vJfD2v7lWSd1JDoOcDJe9rMRcxPgEuJj mnH4374ElcRM9n3JT+toij01rGQxXmTtIQ6H6WzxsAz0Favllc1NTwqUhykgv+BhRvrMz5YA wlOksY0loAq/VGvZsnwWVu/unHslgEdXZ9IDag25R+AzoLQ4h2FHS4UQzhZctskucQqAzsw2 Te0c8jBADVutPiZTCyb/7LN9zeqY3FKdSkFeDMOShYD75/7uoYvgxnTT9FlVqmoktnyHjK2y DePxMQju4guYQcw//3T1Tj6b/iE//AlkiZdCt3rY1+Y
  • Ironport-hdrordr: A9a23:OWKCTqNrY6PcFsBcTjGjsMiBIKoaSvp037BK7S1MoH1uA6ulfq WV9sjzuiWatN98Yh8dcJW7Scq9qBDnhPpICOsqXYtKNTOO0AeVxcNZnOnfKlXbcBEWndQtsJ uIHZIeNDXxZ2IK8foT4mODYqkdKA/sytHXuQ/cpU0dPD2Dc8tbnmFE4p7wKDwNeOFBb6BJba a01458iBeLX28YVci/DmltZZm/mzWa/KiWGSLvHnQcmXKzsQ8=
  • List-id: Developer list for the Windows PV Drivers subproject <win-pv-devel.lists.xenproject.org>
  • Thread-index: Adi8ZD8ojTv0cYRiTIesy/wwgsnlOAAAgQyAAABev9AAANxqAAAAa08gAADiLQAAAAxCMAAA4DqAAAl8XAAAG8xugAA2usNA
  • Thread-topic: Use of newer locking primitives...


-----Original Message-----
From: Durrant, Paul <xadimgnik@xxxxxxxxx> 

>> Ouch. Pause is one of the optional vmexit instructions. So you do an entire 
>> vm-exit, when all you wanted to do is sit on your backside for a few 
>> nanoseconds.
>> 

> Well, arguably the guest is being a better citizen by exiting. If we really 
> want to be a potential CPU hog then we could remove the yield. 

Well, here's the thing - we might be less of a CPU hog by doing the pause, and 
letting the HW decide whether it wants to do its conditional vmexit, via some 
trap. The specs say what they say, but the HW implementors will know the 
details of how many cycles everything takes, and one would hope that they've 
put something smart in to decide whether a pause does in fact trap and vmexit. 
One would hope that executing multiple pauses in a row would be enough of a 
clue.

MH.

 


Rackspace

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