From mboxrd@z Thu Jan 1 00:00:00 1970 From: Quan Xu Subject: [PATCH RFC v3 6/6] KVM guest: introduce smart idle poll algorithm Date: Mon, 13 Nov 2017 18:27:09 +0800 Message-ID: <1510568829-5645-3-git-send-email-quan.xu0@gmail.com> References: <1510568829-5645-1-git-send-email-quan.xu0@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Yang Zhang , Quan Xu , Ingo Molnar , "H. Peter Anvin" , Paolo Bonzini , Thomas Gleixner To: kvm@vger.kernel.org, linux-doc@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, x86@kernel.org, xen-devel@lists.xenproject.org Return-path: In-Reply-To: <1510568829-5645-1-git-send-email-quan.xu0@gmail.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" List-Id: linux-fsdevel.vger.kernel.org RnJvbTogWWFuZyBaaGFuZyA8eWFuZy56aGFuZy53ekBnbWFpbC5jb20+Cgp1c2luZyBzbWFydCBp ZGxlIHBvbGwgdG8gcmVkdWNlIHRoZSB1c2VsZXNzIHBvbGwgd2hlbiBzeXN0ZW0gaXMgaWRsZS4K ClNpZ25lZC1vZmYtYnk6IFF1YW4gWHUgPHF1YW4ueHUwQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1i eTogWWFuZyBaaGFuZyA8eWFuZy56aGFuZy53ekBnbWFpbC5jb20+CkNjOiBQYW9sbyBCb256aW5p IDxwYm9uemluaUByZWRoYXQuY29tPgpDYzogVGhvbWFzIEdsZWl4bmVyIDx0Z2x4QGxpbnV0cm9u aXguZGU+CkNjOiBJbmdvIE1vbG5hciA8bWluZ29AcmVkaGF0LmNvbT4KQ2M6ICJILiBQZXRlciBB bnZpbiIgPGhwYUB6eXRvci5jb20+CkNjOiB4ODZAa2VybmVsLm9yZwpDYzoga3ZtQHZnZXIua2Vy bmVsLm9yZwpDYzogbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZwotLS0KIGFyY2gveDg2L2tl cm5lbC9rdm0uYyB8ICAgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIDEgZmlsZXMgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9rZXJuZWwva3ZtLmMgYi9hcmNoL3g4Ni9rZXJuZWwv a3ZtLmMKaW5kZXggMmE2ZTQwMi4uOGJiNmQ1NSAxMDA2NDQKLS0tIGEvYXJjaC94ODYva2VybmVs L2t2bS5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9rdm0uYwpAQCAtMzcsNiArMzcsNyBAQAogI2lu Y2x1ZGUgPGxpbnV4L2RlYnVnZnMuaD4KICNpbmNsdWRlIDxsaW51eC9ubWkuaD4KICNpbmNsdWRl IDxsaW51eC9zd2FpdC5oPgorI2luY2x1ZGUgPGxpbnV4L3RpY2suaD4KICNpbmNsdWRlIDxhc20v dGltZXIuaD4KICNpbmNsdWRlIDxhc20vY3B1Lmg+CiAjaW5jbHVkZSA8YXNtL3RyYXBzLmg+CkBA IC0zNjUsMTEgKzM2Niw1NyBAQCBzdGF0aWMgdm9pZCBrdm1fZ3Vlc3RfY3B1X2luaXQodm9pZCkK IAkJa3ZtX3JlZ2lzdGVyX3N0ZWFsX3RpbWUoKTsKIH0KIAorc3RhdGljIHVuc2lnbmVkIGludCBn cm93X3BvbGxfbnModW5zaWduZWQgaW50IG9sZCwgdW5zaWduZWQgaW50IGdyb3csCisJCQkJIHVu c2lnbmVkIGludCBtYXgpCit7CisJdW5zaWduZWQgaW50IHZhbDsKKworCS8qIHNldCBiYXNlIHBv bGwgdGltZSB0byAxMDAwMG5zICovCisJaWYgKG9sZCA9PSAwICYmIGdyb3cpCisJCXJldHVybiAx MDAwMDsKKworCXZhbCA9IG9sZCAqIGdyb3c7CisJaWYgKHZhbCA+IG1heCkKKwkJdmFsID0gbWF4 OworCisJcmV0dXJuIHZhbDsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzaHJpbmtfcG9sbF9u cyh1bnNpZ25lZCBpbnQgb2xkLCB1bnNpZ25lZCBpbnQgc2hyaW5rKQoreworCWlmIChzaHJpbmsg PT0gMCkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gb2xkIC8gc2hyaW5rOworfQorCitzdGF0aWMg dm9pZCBrdm1faWRsZV91cGRhdGVfcG9sbF9kdXJhdGlvbihrdGltZV90IGlkbGUpCit7CisJdW5z aWduZWQgbG9uZyBwb2xsX2R1cmF0aW9uID0gdGhpc19jcHVfcmVhZChwb2xsX2R1cmF0aW9uX25z KTsKKworCS8qIHNvIGZhciBwb2xsIGR1cmF0aW9uIGlzIGJhc2VkIG9uIG5vaHogKi8KKwlpZiAo aWRsZSA9PSAtMVVMTCkKKwkJcmV0dXJuOworCisJaWYgKHBvbGxfZHVyYXRpb24gJiYgaWRsZSA+ IHBhcmF2aXJ0X3BvbGxfdGhyZXNob2xkX25zKQorCQlwb2xsX2R1cmF0aW9uID0gc2hyaW5rX3Bv bGxfbnMocG9sbF9kdXJhdGlvbiwKKwkJCQkJICAgICAgIHBhcmF2aXJ0X3BvbGxfc2hyaW5rKTsK KwllbHNlIGlmIChwb2xsX2R1cmF0aW9uIDwgcGFyYXZpcnRfcG9sbF90aHJlc2hvbGRfbnMgJiYK KwkJIGlkbGUgPCBwYXJhdmlydF9wb2xsX3RocmVzaG9sZF9ucykKKwkJcG9sbF9kdXJhdGlvbiA9 IGdyb3dfcG9sbF9ucyhwb2xsX2R1cmF0aW9uLCBwYXJhdmlydF9wb2xsX2dyb3csCisJCQkJCSAg ICAgcGFyYXZpcnRfcG9sbF90aHJlc2hvbGRfbnMpOworCisJdGhpc19jcHVfd3JpdGUocG9sbF9k dXJhdGlvbl9ucywgcG9sbF9kdXJhdGlvbik7Cit9CisKIHN0YXRpYyB2b2lkIGt2bV9pZGxlX3Bv bGwodm9pZCkKIHsKIAl1bnNpZ25lZCBsb25nIHBvbGxfZHVyYXRpb24gPSB0aGlzX2NwdV9yZWFk KHBvbGxfZHVyYXRpb25fbnMpOworCWt0aW1lX3QgaWRsZSA9IHRpY2tfbm9oel9nZXRfbGFzdF9p ZGxlX2xlbmd0aCgpOwogCWt0aW1lX3Qgc3RhcnQsIGN1ciwgc3RvcDsKIAorCWt2bV9pZGxlX3Vw ZGF0ZV9wb2xsX2R1cmF0aW9uKGlkbGUpOworCiAJc3RhcnQgPSBjdXIgPSBrdGltZV9nZXQoKTsK IAlzdG9wID0ga3RpbWVfYWRkX25zKGt0aW1lX2dldCgpLCBwb2xsX2R1cmF0aW9uKTsKIAotLSAK MS43LjEKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpY ZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlz dHMueGVuLm9yZy94ZW4tZGV2ZWwK