From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andrew Cooper Subject: [PATCH v3 15/28] x86/cpu: Sysctl and common infrastructure for levelling context switching Date: Tue, 15 Mar 2016 15:35:11 +0000 Message-ID: <1458056124-8024-16-git-send-email-andrew.cooper3@citrix.com> References: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458056124-8024-1-git-send-email-andrew.cooper3@citrix.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Xen-devel Cc: Andrew Cooper , Jan Beulich List-Id: xen-devel@lists.xenproject.org QSB0b29sc3RhY2sgbmVlZHMgdG8ga25vdyBob3cgbXVjaCBjb250cm9sIFhlbiBoYXMgb3ZlciB0 aGUgdmlzaWJsZSBjcHVpZAp2YWx1ZXMgaW4gUFYgZ3Vlc3RzLiAgUHJvdmlkZSBhbiBleHBsaWNp dCBtZWNoYW5pc20gdG8gcXVlcnkgd2hhdCBYZW4gaXMKY2FwYWJsZSBvZi4KClRoaXMgaW50ZXJm YWNlIHdpbGwgY3VycmVudGx5IHJlcG9ydCBubyBjYXBhYmlsaXRpZXMuICBUaGlzIGNoYW5nZSBp cwpzY2FmZm9sZGluZyBmb3IgZnV0dXJlIHBhdGNoZXMsIHdoaWNoIHdpbGwgaW50cm9kdWNlIGRl dGVjdGlvbiBhbmQgc3dpdGNoaW5nCmxvZ2ljLCBhZnRlciB3aGljaCB0aGUgaW50ZXJmYWNlIHdp bGwgcmVwb3J0IGhhcmR3YXJlIGNhcGFiaWxpdGllcyBjb3JyZWN0bHkuCgpTaWduZWQtb2ZmLWJ5 OiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXguY29tPgotLS0KQ0M6IEphbiBC ZXVsaWNoIDxKQmV1bGljaEBzdXNlLmNvbT4KCnYzOgogKiBSZWludHJvZHVjZSBYRU5fU1lTQ1RM X2dldF9sZXZlbGxpbmdfY2FwcyAocmVxdWVzdGVkIGJ5IEpvYW8gZm9yIHNvbWUKICAgbGlidmly dCBkZXZlbG9wbWVudCBoZSBoYXMgcGxhbm5lZCkuCiAqIFJlbmFtZSB0byBYRU5fU1lTQ1RMX2dl dF9jcHVfbGV2ZWxsaW5nX2NhcHMsIGFuZCByZW5hbWUgdGhlIGNvbnN0YW50cyB0bwogICBtYXRj aCB0aGUgWGVuIGNvbW1hbmQgbGluZSBvcHRpb25zLgp2MjoKICogcy9jcHVtYXNrcy9jcHVpZG1h c2tzLwotLS0KIHhlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMgICAgICAgIHwgIDYgKysrKysrCiB4 ZW4vYXJjaC94ODYvc3lzY3RsLmMgICAgICAgICAgICB8ICA2ICsrKysrKwogeGVuL2luY2x1ZGUv YXNtLXg4Ni9jcHVmZWF0dXJlLmggfCAgMSArCiB4ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nv ci5oICB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHhlbi9pbmNsdWRlL3B1 YmxpYy9zeXNjdGwuaCAgICAgIHwgMjMgKysrKysrKysrKysrKysrKysrKysrKysKIDUgZmlsZXMg Y2hhbmdlZCwgNjcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9jcHUv Y29tbW9uLmMgYi94ZW4vYXJjaC94ODYvY3B1L2NvbW1vbi5jCmluZGV4IGEzMjVkYzAuLmRkMzJh OTQgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvY29tbW9uLmMKKysrIGIveGVuL2FyY2gv eDg2L2NwdS9jb21tb24uYwpAQCAtMzYsNiArMzYsMTIgQEAgaW50ZWdlcl9wYXJhbSgiY3B1aWRf bWFza19leHRfZWN4Iiwgb3B0X2NwdWlkX21hc2tfZXh0X2VjeCk7CiB1bnNpZ25lZCBpbnQgb3B0 X2NwdWlkX21hc2tfZXh0X2VkeCA9IH4wdTsKIGludGVnZXJfcGFyYW0oImNwdWlkX21hc2tfZXh0 X2VkeCIsIG9wdF9jcHVpZF9tYXNrX2V4dF9lZHgpOwogCit1bnNpZ25lZCBpbnQgX19pbml0ZGF0 YSBleHBlY3RlZF9sZXZlbGxpbmdfY2FwOwordW5zaWduZWQgaW50IF9fcmVhZF9tb3N0bHkgbGV2 ZWxsaW5nX2NhcHM7CisKK0RFRklORV9QRVJfQ1BVKHN0cnVjdCBjcHVpZG1hc2tzLCBjcHVpZG1h c2tzKTsKK3N0cnVjdCBjcHVpZG1hc2tzIF9fcmVhZF9tb3N0bHkgY3B1aWRtYXNrX2RlZmF1bHRz OworCiBjb25zdCBzdHJ1Y3QgY3B1X2RldiAqX19yZWFkX21vc3RseSBjcHVfZGV2c1tYODZfVkVO RE9SX05VTV0gPSB7fTsKIAogdW5zaWduZWQgaW50IHBhZGRyX2JpdHMgX19yZWFkX21vc3RseSA9 IDM2OwpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3N5c2N0bC5jIGIveGVuL2FyY2gveDg2L3N5 c2N0bC5jCmluZGV4IDU4Y2JkNzAuLmY2OGNiZWMgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9z eXNjdGwuYworKysgYi94ZW4vYXJjaC94ODYvc3lzY3RsLmMKQEAgLTE5MCw2ICsxOTAsMTIgQEAg bG9uZyBhcmNoX2RvX3N5c2N0bCgKICAgICAgICAgfQogICAgICAgICBicmVhazsKIAorICAgIGNh c2UgWEVOX1NZU0NUTF9nZXRfY3B1X2xldmVsbGluZ19jYXBzOgorICAgICAgICBzeXNjdGwtPnUu Y3B1X2xldmVsbGluZ19jYXBzLmNhcHMgPSBsZXZlbGxpbmdfY2FwczsKKyAgICAgICAgaWYgKCBf X2NvcHlfZmllbGRfdG9fZ3Vlc3QodV9zeXNjdGwsIHN5c2N0bCwgdS5jcHVfbGV2ZWxsaW5nX2Nh cHMuY2FwcykgKQorICAgICAgICAgICAgcmV0ID0gLUVGQVVMVDsKKyAgICAgICAgYnJlYWs7CisK ICAgICBkZWZhdWx0OgogICAgICAgICByZXQgPSAtRU5PU1lTOwogICAgICAgICBicmVhazsKZGlm ZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZS5oIGIveGVuL2luY2x1ZGUv YXNtLXg4Ni9jcHVmZWF0dXJlLmgKaW5kZXggZWQyOWQ2Zi4uNTA0MTRlMyAxMDA2NDQKLS0tIGEv eGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4 Ni9jcHVmZWF0dXJlLmgKQEAgLTgxLDYgKzgxLDcgQEAKICNkZWZpbmUgY3B1X2hhc194c2F2ZWMJ CWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9YU0FWRUMpCiAjZGVmaW5lIGNwdV9oYXNfeGdldGJ2 MQkJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX1hHRVRCVjEpCiAjZGVmaW5lIGNwdV9oYXNfeHNh dmVzCQlib290X2NwdV9oYXMoWDg2X0ZFQVRVUkVfWFNBVkVTKQorI2RlZmluZSBjcHVfaGFzX2h5 cGVydmlzb3IJYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0hZUEVSVklTT1IpCiAKIGVudW0gX2Nh Y2hlX3R5cGUgewogICAgIENBQ0hFX1RZUEVfTlVMTCA9IDAsCmRpZmYgLS1naXQgYS94ZW4vaW5j bHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNzb3Iu aAppbmRleCBiYTkwN2VlLi45YWE5M2RiIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2 L3Byb2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTYx OCw2ICs2MTgsMzcgQEAgdm9pZCBtaWNyb2NvZGVfc2V0X21vZHVsZSh1bnNpZ25lZCBpbnQpOwog aW50IG1pY3JvY29kZV91cGRhdGUoWEVOX0dVRVNUX0hBTkRMRV9QQVJBTShjb25zdF92b2lkKSwg dW5zaWduZWQgbG9uZyBsZW4pOwogaW50IG1pY3JvY29kZV9yZXN1bWVfY3B1KHVuc2lnbmVkIGlu dCBjcHUpOwogCisjZGVmaW5lIExDQVBfZmF1bHRpbmcgWEVOX1NZU0NUTF9DUFVfTEVWRUxDQVBf ZmF1bHRpbmcKKyNkZWZpbmUgTENBUF8xY2QgICAgICAoWEVOX1NZU0NUTF9DUFVfTEVWRUxDQVBf ZWN4IHwgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgWEVOX1NZU0NUTF9DUFVfTEVW RUxDQVBfZWR4KQorI2RlZmluZSBMQ0FQX2UxY2QgICAgIChYRU5fU1lTQ1RMX0NQVV9MRVZFTENB UF9leHRkX2VjeCB8ICAgXAorICAgICAgICAgICAgICAgICAgICAgICBYRU5fU1lTQ1RMX0NQVV9M RVZFTENBUF9leHRkX2VkeCkKKyNkZWZpbmUgTENBUF9EYTEgICAgICBYRU5fU1lTQ1RMX0NQVV9M RVZFTENBUF94c2F2ZV9lYXgKKyNkZWZpbmUgTENBUF82YyAgICAgICBYRU5fU1lTQ1RMX0NQVV9M RVZFTENBUF90aGVtYWxfZWN4CisjZGVmaW5lIExDQVBfN2FiMCAgICAgKFhFTl9TWVNDVExfQ1BV X0xFVkVMQ0FQX2w3czBfZWF4IHwgICBcCisgICAgICAgICAgICAgICAgICAgICAgIFhFTl9TWVND VExfQ1BVX0xFVkVMQ0FQXzE3czBfZWJ4KQorCisvKgorICogRXhwZWN0ZWQgbGV2ZWxsaW5nIGNh cGFiaWxpdGllcyAoZ2l2ZW4gY3B1aWQgdmVuZG9yL2ZhbWlseSBpbmZvcm1hdGlvbiksCisgKiBh bmQgbGV2ZWxsaW5nIGNhcGFiaWxpdGllcyBhY3R1YWxseSBhdmFpbGFibGUgKGdpdmVuIE1TUiBw cm9iaW5nKS4KKyAqLworZXh0ZXJuIHVuc2lnbmVkIGludCBleHBlY3RlZF9sZXZlbGxpbmdfY2Fw LCBsZXZlbGxpbmdfY2FwczsKKworc3RydWN0IGNwdWlkbWFza3MKK3sKKyAgICB1aW50NjRfdCBf MWNkOworICAgIHVpbnQ2NF90IGUxY2Q7CisgICAgdWludDY0X3QgRGExOworICAgIHVpbnQ2NF90 IF82YzsKKyAgICB1aW50NjRfdCBfN2FiMDsKK307CisKKy8qIFBlciBDUFUgc2hhZG93cyBvZiBt YXNraW5nIE1TUiB2YWx1ZXMsIGZvciBsYXp5IGNvbnRleHQgc3dpdGNoaW5nLiAqLworREVDTEFS RV9QRVJfQ1BVKHN0cnVjdCBjcHVpZG1hc2tzLCBjcHVpZG1hc2tzKTsKKworLyogRGVmYXVsdCBt YXNraW5nIE1TUiB2YWx1ZXMsIGNhbGN1bGF0ZWQgYXQgYm9vdC4gKi8KK2V4dGVybiBzdHJ1Y3Qg Y3B1aWRtYXNrcyBjcHVpZG1hc2tfZGVmYXVsdHM7CisKIGVudW0gZ2V0X2NwdV92ZW5kb3Igewog ICAgZ2N2X2hvc3RfZWFybHksCiAgICBnY3ZfaG9zdF9sYXRlLApkaWZmIC0tZ2l0IGEveGVuL2lu Y2x1ZGUvcHVibGljL3N5c2N0bC5oIGIveGVuL2luY2x1ZGUvcHVibGljL3N5c2N0bC5oCmluZGV4 IDk2NjgwZWIuLjBkYWNjYTIgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL3B1YmxpYy9zeXNjdGwu aAorKysgYi94ZW4vaW5jbHVkZS9wdWJsaWMvc3lzY3RsLmgKQEAgLTc2Niw2ICs3NjYsMjcgQEAg c3RydWN0IHhlbl9zeXNjdGxfdG1lbV9vcCB7CiB0eXBlZGVmIHN0cnVjdCB4ZW5fc3lzY3RsX3Rt ZW1fb3AgeGVuX3N5c2N0bF90bWVtX29wX3Q7CiBERUZJTkVfWEVOX0dVRVNUX0hBTkRMRSh4ZW5f c3lzY3RsX3RtZW1fb3BfdCk7CiAKKy8qCisgKiBYRU5fU1lTQ1RMX2dldF9jcHVfbGV2ZWxsaW5n X2NhcHMgKHg4NiBzcGVjaWZpYykKKyAqCisgKiBSZXR1cm4gaGFyZHdhcmUgY2FwYWJpbGl0aWVz IGNvbmNlcm5pbmcgbWFza2luZyBvciBmYXVsdGluZyBvZiB0aGUgY3B1aWQKKyAqIGluc3RydWN0 aW9uIGZvciBQViBndWVzdHMuCisgKi8KK3N0cnVjdCB4ZW5fc3lzY3RsX2NwdV9sZXZlbGxpbmdf Y2FwcyB7CisjZGVmaW5lIFhFTl9TWVNDVExfQ1BVX0xFVkVMQ0FQX2ZhdWx0aW5nICAgKDF1bCA8 PCAgMCkgLyogQ1BVSUQgZmF1bHRpbmcgICAgKi8KKyNkZWZpbmUgWEVOX1NZU0NUTF9DUFVfTEVW RUxDQVBfZWN4ICAgICAgICAoMXVsIDw8ICAxKSAvKiAweDAwMDAwMDAxLmVjeCAgICAqLworI2Rl ZmluZSBYRU5fU1lTQ1RMX0NQVV9MRVZFTENBUF9lZHggICAgICAgICgxdWwgPDwgIDIpIC8qIDB4 MDAwMDAwMDEuZWR4ICAgICovCisjZGVmaW5lIFhFTl9TWVNDVExfQ1BVX0xFVkVMQ0FQX2V4dGRf ZWN4ICAgKDF1bCA8PCAgMykgLyogMHg4MDAwMDAwMS5lY3ggICAgKi8KKyNkZWZpbmUgWEVOX1NZ U0NUTF9DUFVfTEVWRUxDQVBfZXh0ZF9lZHggICAoMXVsIDw8ICA0KSAvKiAweDgwMDAwMDAxLmVk eCAgICAqLworI2RlZmluZSBYRU5fU1lTQ1RMX0NQVV9MRVZFTENBUF94c2F2ZV9lYXggICgxdWwg PDwgIDUpIC8qIDB4MDAwMDAwMEQ6MS5lYXggICovCisjZGVmaW5lIFhFTl9TWVNDVExfQ1BVX0xF VkVMQ0FQX3RoZW1hbF9lY3ggKDF1bCA8PCAgNikgLyogMHgwMDAwMDAwNi5lY3ggICAgKi8KKyNk ZWZpbmUgWEVOX1NZU0NUTF9DUFVfTEVWRUxDQVBfbDdzMF9lYXggICAoMXVsIDw8ICA3KSAvKiAw eDAwMDAwMDA3OjAuZWF4ICAqLworI2RlZmluZSBYRU5fU1lTQ1RMX0NQVV9MRVZFTENBUF8xN3Mw X2VieCAgICgxdWwgPDwgIDgpIC8qIDB4MDAwMDAwMDc6MC5lYnggICovCisgICAgdWludDMyX3Qg Y2FwczsKK307Cit0eXBlZGVmIHN0cnVjdCB4ZW5fc3lzY3RsX2NwdV9sZXZlbGxpbmdfY2FwcyB4 ZW5fc3lzY3RsX2NwdV9sZXZlbGxpbmdfY2Fwc190OworREVGSU5FX1hFTl9HVUVTVF9IQU5ETEUo eGVuX3N5c2N0bF9jcHVfbGV2ZWxsaW5nX2NhcHNfdCk7CisKIHN0cnVjdCB4ZW5fc3lzY3RsIHsK ICAgICB1aW50MzJfdCBjbWQ7CiAjZGVmaW5lIFhFTl9TWVNDVExfcmVhZGNvbnNvbGUgICAgICAg ICAgICAgICAgICAgIDEKQEAgLTc5MSw2ICs4MTIsNyBAQCBzdHJ1Y3QgeGVuX3N5c2N0bCB7CiAj ZGVmaW5lIFhFTl9TWVNDVExfcGNpdG9wb2luZm8gICAgICAgICAgICAgICAgICAgMjIKICNkZWZp bmUgWEVOX1NZU0NUTF9wc3JfY2F0X29wICAgICAgICAgICAgICAgICAgICAyMwogI2RlZmluZSBY RU5fU1lTQ1RMX3RtZW1fb3AgICAgICAgICAgICAgICAgICAgICAgIDI0CisjZGVmaW5lIFhFTl9T WVNDVExfZ2V0X2NwdV9sZXZlbGxpbmdfY2FwcyAgICAgICAgMjUKICAgICB1aW50MzJfdCBpbnRl cmZhY2VfdmVyc2lvbjsgLyogWEVOX1NZU0NUTF9JTlRFUkZBQ0VfVkVSU0lPTiAqLwogICAgIHVu aW9uIHsKICAgICAgICAgc3RydWN0IHhlbl9zeXNjdGxfcmVhZGNvbnNvbGUgICAgICAgcmVhZGNv bnNvbGU7CkBAIC04MTYsNiArODM4LDcgQEAgc3RydWN0IHhlbl9zeXNjdGwgewogICAgICAgICBz dHJ1Y3QgeGVuX3N5c2N0bF9wc3JfY210X29wICAgICAgICBwc3JfY210X29wOwogICAgICAgICBz dHJ1Y3QgeGVuX3N5c2N0bF9wc3JfY2F0X29wICAgICAgICBwc3JfY2F0X29wOwogICAgICAgICBz dHJ1Y3QgeGVuX3N5c2N0bF90bWVtX29wICAgICAgICAgICB0bWVtX29wOworICAgICAgICBzdHJ1 Y3QgeGVuX3N5c2N0bF9jcHVfbGV2ZWxsaW5nX2NhcHMgY3B1X2xldmVsbGluZ19jYXBzOwogICAg ICAgICB1aW50OF90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRbMTI4XTsKICAgICB9 IHU7CiB9OwotLSAKMi4xLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3Jn Cmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=