From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Adalbert=20Laz=C4=83r?= Subject: [RFC PATCH v6 11/92] kvm: introspection: add vCPU related data Date: Fri, 9 Aug 2019 18:59:26 +0300 Message-ID: <20190809160047.8319-12-alazar@bitdefender.com> References: <20190809160047.8319-1-alazar@bitdefender.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809160047.8319-1-alazar@bitdefender.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: kvm@vger.kernel.org Cc: Tamas K Lengyel , Weijiang Yang , Yu C , =?UTF-8?q?Radim=20Kr=C4=8Dm=C3=A1=C5=99?= , Jan Kiszka , =?UTF-8?q?Samuel=20Laur=C3=A9n?= , Konrad Rzeszutek Wilk , virtualization@lists.linux-foundation.org, =?UTF-8?q?Adalbert=20Laz=C4=83r?= , linux-mm@kvack.org, Patrick Colp , Mathieu Tarral , Stefan Hajnoczi , =?UTF-8?q?Mircea=20C=C3=AErjaliu?= , Paolo Bonzini , Zhang@mail.linuxfoundation.org, =?UTF-8?q?Mihai=20Don=C8=9Bu?= List-Id: virtualization@lists.linuxfoundation.org RnJvbTogTWlyY2VhIEPDrnJqYWxpdSA8bWNpcmphbGl1QGJpdGRlZmVuZGVyLmNvbT4KCkFuIG9w YXF1ZSBwb2ludGVyIGlzIGFkZGVkIHRvIHN0cnVjdCBrdm1fdmNwdSwgcG9pbnRpbmcgdG8gaXRz CmNvcmVzcG9uZGluZyBpbnRyb3NwZWN0aW9uIHN0cnVjdHVyZSwgYWxsb2NhdGVkIChhKSB3aGVu IHRoZSBpbnRyb3NwZWN0aW9uCnNvY2tldCBpcyBjb25uZWN0ZWQgb3IgKGIpIHdoZW4gdGhlIHZD UFUgaXMgaG90cGx1Z2VkIGFuZCBkZWFsbG9jYXRlZAp3aGVuIHRoZSBpbnRyb3NwZWN0aW9uIHNv Y2tldCBpcyBkaXNjb25uZWN0ZWQuCgpTaWduZWQtb2ZmLWJ5OiBNaXJjZWEgQ8OucmphbGl1IDxt Y2lyamFsaXVAYml0ZGVmZW5kZXIuY29tPgpTaWduZWQtb2ZmLWJ5OiBBZGFsYmVydCBMYXrEg3Ig PGFsYXphckBiaXRkZWZlbmRlci5jb20+Ci0tLQogaW5jbHVkZS9saW51eC9rdm1faG9zdC5oIHwg IDEgKwogaW5jbHVkZS9saW51eC9rdm1pLmggICAgIHwgIDQgKysrCiB2aXJ0L2t2bS9rdm1fbWFp bi5jICAgICAgfCAgOCArKysrKwogdmlydC9rdm0va3ZtaS5jICAgICAgICAgIHwgNzMgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogdmlydC9rdm0va3ZtaV9pbnQuaCAg ICAgIHwgIDUgKysrCiA1IGZpbGVzIGNoYW5nZWQsIDkwIGluc2VydGlvbnMoKyksIDEgZGVsZXRp b24oLSkKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2t2bV9ob3N0LmggYi9pbmNsdWRlL2xp bnV4L2t2bV9ob3N0LmgKaW5kZXggNTgyYjAxODdmNWE0Li4xZWMwNDM4NGZhZDMgMTAwNjQ0Ci0t LSBhL2luY2x1ZGUvbGludXgva3ZtX2hvc3QuaAorKysgYi9pbmNsdWRlL2xpbnV4L2t2bV9ob3N0 LmgKQEAgLTI3NSw2ICsyNzUsNyBAQCBzdHJ1Y3Qga3ZtX3ZjcHUgewogCWJvb2wgcHJlZW1wdGVk OwogCXN0cnVjdCBrdm1fdmNwdV9hcmNoIGFyY2g7CiAJc3RydWN0IGRlbnRyeSAqZGVidWdmc19k ZW50cnk7CisJdm9pZCAqa3ZtaTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgaW50IGt2bV92Y3B1X2V4 aXRpbmdfZ3Vlc3RfbW9kZShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpCmRpZmYgLS1naXQgYS9pbmNs dWRlL2xpbnV4L2t2bWkuaCBiL2luY2x1ZGUvbGludXgva3ZtaS5oCmluZGV4IDRjYTkyODBlNDQx OS4uZThkMjVkN2RhNzUxIDEwMDY0NAotLS0gYS9pbmNsdWRlL2xpbnV4L2t2bWkuaAorKysgYi9p bmNsdWRlL2xpbnV4L2t2bWkuaApAQCAtMTQsNiArMTQsOCBAQCBpbnQga3ZtaV9pb2N0bF9ob29r KHN0cnVjdCBrdm0gKmt2bSwgdm9pZCBfX3VzZXIgKmFyZ3ApOwogaW50IGt2bWlfaW9jdGxfY29t bWFuZChzdHJ1Y3Qga3ZtICprdm0sIHZvaWQgX191c2VyICphcmdwKTsKIGludCBrdm1pX2lvY3Rs X2V2ZW50KHN0cnVjdCBrdm0gKmt2bSwgdm9pZCBfX3VzZXIgKmFyZ3ApOwogaW50IGt2bWlfaW9j dGxfdW5ob29rKHN0cnVjdCBrdm0gKmt2bSwgYm9vbCBmb3JjZV9yZXNldCk7CitpbnQga3ZtaV92 Y3B1X2luaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KTsKK3ZvaWQga3ZtaV92Y3B1X3VuaW5pdChz dHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUpOwogCiAjZWxzZQogCkBAIC0yMSw2ICsyMyw4IEBAIHN0YXRp YyBpbmxpbmUgaW50IGt2bWlfaW5pdCh2b2lkKSB7IHJldHVybiAwOyB9CiBzdGF0aWMgaW5saW5l IHZvaWQga3ZtaV91bmluaXQodm9pZCkgeyB9CiBzdGF0aWMgaW5saW5lIHZvaWQga3ZtaV9jcmVh dGVfdm0oc3RydWN0IGt2bSAqa3ZtKSB7IH0KIHN0YXRpYyBpbmxpbmUgdm9pZCBrdm1pX2Rlc3Ry b3lfdm0oc3RydWN0IGt2bSAqa3ZtKSB7IH0KK3N0YXRpYyBpbmxpbmUgaW50IGt2bWlfdmNwdV9p bml0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkgeyByZXR1cm4gMDsgfQorc3RhdGljIGlubGluZSB2 b2lkIGt2bWlfdmNwdV91bmluaXQoc3RydWN0IGt2bV92Y3B1ICp2Y3B1KSB7IH0KIAogI2VuZGlm IC8qIENPTkZJR19LVk1fSU5UUk9TUEVDVElPTiAqLwogCmRpZmYgLS1naXQgYS92aXJ0L2t2bS9r dm1fbWFpbi5jIGIvdmlydC9rdm0va3ZtX21haW4uYwppbmRleCA4Mzk5YjgyNmYyZDIuLjk0ZjE1 ZjM5M2UzNyAxMDA2NDQKLS0tIGEvdmlydC9rdm0va3ZtX21haW4uYworKysgYi92aXJ0L2t2bS9r dm1fbWFpbi5jCkBAIC0zMTYsNiArMzE2LDEzIEBAIGludCBrdm1fdmNwdV9pbml0KHN0cnVjdCBr dm1fdmNwdSAqdmNwdSwgc3RydWN0IGt2bSAqa3ZtLCB1bnNpZ25lZCBpZCkKIAlyID0ga3ZtX2Fy Y2hfdmNwdV9pbml0KHZjcHUpOwogCWlmIChyIDwgMCkKIAkJZ290byBmYWlsX2ZyZWVfcnVuOwor CisJciA9IGt2bWlfdmNwdV9pbml0KHZjcHUpOworCWlmIChyIDwgMCkgeworCQlrdm1fYXJjaF92 Y3B1X3VuaW5pdCh2Y3B1KTsKKwkJZ290byBmYWlsX2ZyZWVfcnVuOworCX0KKwogCXJldHVybiAw OwogCiBmYWlsX2ZyZWVfcnVuOgpAQCAtMzMzLDYgKzM0MCw3IEBAIHZvaWQga3ZtX3ZjcHVfdW5p bml0KHN0cnVjdCBrdm1fdmNwdSAqdmNwdSkKIAkgKiBkZXNjcmlwdG9ycyBhcmUgYWxyZWFkeSBn b25lLgogCSAqLwogCXB1dF9waWQocmN1X2RlcmVmZXJlbmNlX3Byb3RlY3RlZCh2Y3B1LT5waWQs IDEpKTsKKwlrdm1pX3ZjcHVfdW5pbml0KHZjcHUpOwogCWt2bV9hcmNoX3ZjcHVfdW5pbml0KHZj cHUpOwogCWZyZWVfcGFnZSgodW5zaWduZWQgbG9uZyl2Y3B1LT5ydW4pOwogfQpkaWZmIC0tZ2l0 IGEvdmlydC9rdm0va3ZtaS5jIGIvdmlydC9rdm0va3ZtaS5jCmluZGV4IDk2MWU2Y2MxM2ZiNi4u ODYwNTc0MDM5MjIxIDEwMDY0NAotLS0gYS92aXJ0L2t2bS9rdm1pLmMKKysrIGIvdmlydC9rdm0v a3ZtaS5jCkBAIC04MCw2ICs4MCwxOSBAQCBzdGF0aWMgYm9vbCBhbGxvY19rdm1pKHN0cnVjdCBr dm0gKmt2bSwgY29uc3Qgc3RydWN0IGt2bV9pbnRyb3NwZWN0aW9uICpxZW11KQogCXJldHVybiB0 cnVlOwogfQogCitzdGF0aWMgYm9vbCBhbGxvY19pdmNwdShzdHJ1Y3Qga3ZtX3ZjcHUgKnZjcHUp Cit7CisJc3RydWN0IGt2bWlfdmNwdSAqaXZjcHU7CisKKwlpdmNwdSA9IGt6YWxsb2Moc2l6ZW9m KCppdmNwdSksIEdGUF9LRVJORUwpOworCWlmICghaXZjcHUpCisJCXJldHVybiBmYWxzZTsKKwor CXZjcHUtPmt2bWkgPSBpdmNwdTsKKworCXJldHVybiB0cnVlOworfQorCiBzdHJ1Y3Qga3ZtaSAq IF9fbXVzdF9jaGVjayBrdm1pX2dldChzdHJ1Y3Qga3ZtICprdm0pCiB7CiAJaWYgKHJlZmNvdW50 X2luY19ub3RfemVybygma3ZtLT5rdm1pX3JlZikpCkBAIC05MCw4ICsxMDMsMTYgQEAgc3RydWN0 IGt2bWkgKiBfX211c3RfY2hlY2sga3ZtaV9nZXQoc3RydWN0IGt2bSAqa3ZtKQogCiBzdGF0aWMg dm9pZCBrdm1pX2Rlc3Ryb3koc3RydWN0IGt2bSAqa3ZtKQogeworCXN0cnVjdCBrdm1fdmNwdSAq dmNwdTsKKwlpbnQgaTsKKwogCWtmcmVlKGt2bS0+a3ZtaSk7CiAJa3ZtLT5rdm1pID0gTlVMTDsK KworCWt2bV9mb3JfZWFjaF92Y3B1KGksIHZjcHUsIGt2bSkgeworCQlrZnJlZSh2Y3B1LT5rdm1p KTsKKwkJdmNwdS0+a3ZtaSA9IE5VTEw7CisJfQogfQogCiBzdGF0aWMgdm9pZCBrdm1pX3JlbGVh c2Uoc3RydWN0IGt2bSAqa3ZtKQpAQCAtMTA5LDYgKzEzMCw0OCBAQCB2b2lkIGt2bWlfcHV0KHN0 cnVjdCBrdm0gKmt2bSkKIAkJa3ZtaV9yZWxlYXNlKGt2bSk7CiB9CiAKKy8qCisgKiBWQ1BVIGhv dHBsdWcgLSB0aGlzIGZ1bmN0aW9uIHdpbGwgbGlrZWx5IGJlIGNhbGxlZCBiZWZvcmUgVkNQVSB3 aWxsIHN0YXJ0CisgKiBleGVjdXRpbmcgY29kZQorICovCitpbnQga3ZtaV92Y3B1X2luaXQoc3Ry dWN0IGt2bV92Y3B1ICp2Y3B1KQoreworCXN0cnVjdCBrdm1pICppa3ZtOworCWludCByZXQgPSAw OworCisJaWt2bSA9IGt2bWlfZ2V0KHZjcHUtPmt2bSk7CisJaWYgKCFpa3ZtKQorCQlyZXR1cm4g MDsKKworCWlmICghYWxsb2NfaXZjcHUodmNwdSkpIHsKKwkJa3ZtaV9lcnIoaWt2bSwgIlVuYWJs ZSB0byBhbGxvYyBpdmNwdSBmb3IgdmNwdV9pZCAldVxuIiwKKwkJCSB2Y3B1LT52Y3B1X2lkKTsK KwkJcmV0ID0gLUVOT01FTTsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJa3ZtaV9wdXQodmNw dS0+a3ZtKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBWQ1BVIGhvdHBsdWcgLSB0aGlz IGZ1bmN0aW9uIHdpbGwgbGlrZWx5IGJlIGNhbGxlZCBhZnRlciBWQ1BVIHdpbGwgc3RvcAorICog ZXhlY3V0aW5nIGNvZGUKKyAqLwordm9pZCBrdm1pX3ZjcHVfdW5pbml0KHN0cnVjdCBrdm1fdmNw dSAqdmNwdSkKK3sKKwkvKgorCSAqIFVuZGVyIGNlcnRhaW4gY2lyY3Vtc3RhbmNlcyAoZXJyb3Jz IGluIGNyZWF0aW5nIHRoZSBWQ1BVLCBob3RwbHVnPykKKwkgKiB0aGlzIGZ1bmN0aW9uIG1heSBi ZSByZWFjaGVkIHdpdGggdGhlIEtWTUkgbWVtYmVyIHN0aWxsIGFsbG9jYXRlZC4KKwkgKiBUaGlz IFZDUFUgd29uJ3QgYmUgcmVhY2hhYmxlIGJ5IHRoZSBpbnRyb3NwZWN0aW9uIGVuZ2luZSwgc28g bm8KKwkgKiBwcm90ZWN0aW9uIGlzIG5lY2Vzc2FyeSB3aGVuIGRlLWFsbG9jYXRpbmcuCisJICov CisJa2ZyZWUodmNwdS0+a3ZtaSk7CisJdmNwdS0+a3ZtaSA9IE5VTEw7Cit9CisKIHN0YXRpYyB2 b2lkIGt2bWlfZW5kX2ludHJvc3BlY3Rpb24oc3RydWN0IGt2bWkgKmlrdm0pCiB7CiAJc3RydWN0 IGt2bSAqa3ZtID0gaWt2bS0+a3ZtOwpAQCAtMTQyLDggKzIwNSw5IEBAIHN0YXRpYyBpbnQga3Zt aV9yZWN2KHZvaWQgKmFyZykKIAogaW50IGt2bWlfaG9vayhzdHJ1Y3Qga3ZtICprdm0sIGNvbnN0 IHN0cnVjdCBrdm1faW50cm9zcGVjdGlvbiAqcWVtdSkKIHsKKwlzdHJ1Y3Qga3ZtX3ZjcHUgKnZj cHU7CiAJc3RydWN0IGt2bWkgKmlrdm07Ci0JaW50IGVyciA9IDA7CisJaW50IGksIGVyciA9IDA7 CiAKIAkvKiB3YWl0IGZvciB0aGUgcHJldmlvdXMgaW50cm9zcGVjdGlvbiB0byBmaW5pc2ggKi8K IAllcnIgPSB3YWl0X2Zvcl9jb21wbGV0aW9uX2tpbGxhYmxlKCZrdm0tPmt2bWlfY29tcGxldGVk KTsKQEAgLTE1OSw2ICsyMjMsMTMgQEAgaW50IGt2bWlfaG9vayhzdHJ1Y3Qga3ZtICprdm0sIGNv bnN0IHN0cnVjdCBrdm1faW50cm9zcGVjdGlvbiAqcWVtdSkKIAl9CiAJaWt2bSA9IElLVk0oa3Zt KTsKIAorCWt2bV9mb3JfZWFjaF92Y3B1KGksIHZjcHUsIGt2bSkgeworCQlpZiAoIWFsbG9jX2l2 Y3B1KHZjcHUpKSB7CisJCQllcnIgPSAtRU5PTUVNOworCQkJZ290byBlcnJfYWxsb2M7CisJCX0K Kwl9CisKIAkvKiBpbnRlcmFjdCB3aXRoIG90aGVyIGtlcm5lbCBjb21wb25lbnRzIGFmdGVyIHN0 cnVjdHVyZSBhbGxvY2F0aW9uICovCiAJaWYgKCFrdm1pX3NvY2tfZ2V0KGlrdm0sIHFlbXUtPmZk KSkgewogCQllcnIgPSAtRUlOVkFMOwpkaWZmIC0tZ2l0IGEvdmlydC9rdm0va3ZtaV9pbnQuaCBi L3ZpcnQva3ZtL2t2bWlfaW50LmgKaW5kZXggODRiYTQzYmQ5YTlkLi44NzM5YTM0MzU4OTMgMTAw NjQ0Ci0tLSBhL3ZpcnQva3ZtL2t2bWlfaW50LmgKKysrIGIvdmlydC9rdm0va3ZtaV9pbnQuaApA QCAtMjMsNiArMjMsOCBAQAogI2RlZmluZSBrdm1pX2Vycihpa3ZtLCBmbXQsIC4uLikgXAogCWt2 bV9pbmZvKCIlcFUgRVJST1I6ICIgZm10LCAmaWt2bS0+dXVpZCwgIyMgX19WQV9BUkdTX18pCiAK KyNkZWZpbmUgSVZDUFUodmNwdSkgKChzdHJ1Y3Qga3ZtaV92Y3B1ICopKCh2Y3B1KS0+a3ZtaSkp CisKICNkZWZpbmUgS1ZNSV9NU0dfU0laRV9BTExPQyAoc2l6ZW9mKHN0cnVjdCBrdm1pX21zZ19o ZHIpICsgS1ZNSV9NU0dfU0laRSkKIAogI2RlZmluZSBLVk1JX0tOT1dOX1ZDUFVfRVZFTlRTICgg XApAQCAtNzMsNiArNzUsOSBAQAogCiAjZGVmaW5lIEtWTUlfTlVNX0NPTU1BTkRTIEtWTUlfTkVY VF9BVkFJTEFCTEVfQ09NTUFORAogCitzdHJ1Y3Qga3ZtaV92Y3B1IHsKK307CisKICNkZWZpbmUg SUtWTShrdm0pICgoc3RydWN0IGt2bWkgKikoKGt2bSktPmt2bWkpKQogCiBzdHJ1Y3Qga3ZtaSB7 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClZpcnR1YWxp emF0aW9uIG1haWxpbmcgbGlzdApWaXJ0dWFsaXphdGlvbkBsaXN0cy5saW51eC1mb3VuZGF0aW9u Lm9yZwpodHRwczovL2xpc3RzLmxpbnV4Zm91bmRhdGlvbi5vcmcvbWFpbG1hbi9saXN0aW5mby92 aXJ0dWFsaXphdGlvbg==