From mboxrd@z Thu Jan 1 00:00:00 1970 From: van.freenix@gmail.com Subject: [RFC 3/5] xen: cpupool: add arch cpupool hook Date: Mon, 19 Sep 2016 10:08:54 +0800 Message-ID: <1474250936-27962-4-git-send-email-peng.fan@nxp.com> References: <1474250936-27962-1-git-send-email-peng.fan@nxp.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1474250936-27962-1-git-send-email-peng.fan@nxp.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: julien.grall@arm.com, sstabellini@kernel.org, jbeulich@suse.com, andrew.cooper3@citrix.com, jgross@suse.com, dario.faggioli@citrix.com Cc: Peng Fan , xen-devel@lists.xen.org List-Id: xen-devel@lists.xenproject.org RnJvbTogUGVuZyBGYW4gPHBlbmcuZmFuQG54cC5jb20+CgpJbnRyb2R1Y2UgYXJjaF9jcHVwb29s X2NyZWF0ZSwgYXJjaF9jcHVwb29sX2NwdV9hZGQsCmFuZCBhcmNoX2RvbWFpbl9jcHVwb29sX2Nv bXBhdGlibGUuCgpUbyBYODYsIG5vdGhpbmcgdG8gZG8sIGp1c3QgYWRkIGFuIGVtcHR5IHN0dWIg ZnVuY3Rpb25zLgoKVG8gQVJNLCBhcmNoX2NwdXBvb2xfY3JlYXRlIGluaXRpYWxpemUgbWlkciB3 aXRoIHZhbHVlIC0xOwphcmNoX2NwdXBvb2xfY3B1X2FkZCwgaWYgdGhlcmUgaXMgY3B1IGluIHRo ZSBjcHVwb29sIG9yIHRoZSBjcHUKaXMgdGhlIGZpcnN0IG9uZSB0aGF0IHdpbGwgYmUgYWRkZWQg dG8gdGhlIGNwdXBvb2wsIGFzc2lnbiBjcHUKbWlkciB0byBjcHVwb29sIG1pZHIuIElmIHRoZSBt aWRyIGFscmVhZHkgaW5pdGlhbHplZCBhbmQgdGhlcmUgaXMKdmFsaWQgY3B1cyBpbiB0aGUgcG9v bCwgY2hlY2sgd2hldGhlciB0aGUgbWlkciBvZiBjcHUgYW5kIGNwdXBvb2wKaXMgY29tcGF0Ymls ZSBvciBub3Q7IGFyY2hfZG9tYWluX2NwdXBvb2xfY29tcGF0aWJsZSBpcyB0byBjaGVjawp3aGV0 aGVyIHRoZSBkb21haW4gaXMgb2sgdG8gYmUgbW92ZWQgaW50byB0aGUgY3B1cG9vbC4KClNpZ25l ZC1vZmYtYnk6IFBlbmcgRmFuIDxwZW5nLmZhbkBueHAuY29tPgpDYzogU3RlZmFubyBTdGFiZWxs aW5pIDxzc3RhYmVsbGluaUBrZXJuZWwub3JnPgpDYzogSnVsaWVuIEdyYWxsIDxqdWxpZW4uZ3Jh bGxAYXJtLmNvbT4KQ2M6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KQ2M6IEFuZHJl dyBDb29wZXIgPGFuZHJldy5jb29wZXIzQGNpdHJpeC5jb20+CkNjOiBKdWVyZ2VuIEdyb3NzIDxq Z3Jvc3NAc3VzZS5jb20+CkNjOiBEYXJpbyBGYWdnaW9saSA8ZGFyaW8uZmFnZ2lvbGlAY2l0cml4 LmNvbT4KLS0tCiB4ZW4vYXJjaC9hcm0vTWFrZWZpbGUgICAgICB8ICAxICsKIHhlbi9hcmNoL2Fy bS9jcHVwb29sLmMgICAgIHwgNDUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB4ZW4vYXJjaC94ODYvY3B1L01ha2VmaWxlICB8ICAxICsKIHhlbi9hcmNoL3g4 Ni9jcHUvY3B1cG9vbC5jIHwgMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiB4ZW4v Y29tbW9uL2NwdXBvb2wuYyAgICAgICB8IDMwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogeGVuL2luY2x1ZGUveGVuL3NjaGVkLWlmLmggfCAgMyArKysKIDYgZmlsZXMgY2hhbmdlZCwg MTEwIGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCB4ZW4vYXJjaC9hcm0vY3B1cG9v bC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgeGVuL2FyY2gveDg2L2NwdS9jcHVwb29sLmMKCmRpZmYg LS1naXQgYS94ZW4vYXJjaC9hcm0vTWFrZWZpbGUgYi94ZW4vYXJjaC9hcm0vTWFrZWZpbGUKaW5k ZXggMjNhYWY1Mi4uMWI3MmY2NiAxMDA2NDQKLS0tIGEveGVuL2FyY2gvYXJtL01ha2VmaWxlCisr KyBiL3hlbi9hcmNoL2FybS9NYWtlZmlsZQpAQCAtOSw2ICs5LDcgQEAgb2JqLXkgKz0gYm9vdGZk dC5vCiBvYmoteSArPSBjcHUubwogb2JqLXkgKz0gY3B1ZXJyYXRhLm8KIG9iai15ICs9IGNwdWZl YXR1cmUubworb2JqLXkgKz0gY3B1cG9vbC5vCiBvYmoteSArPSBkZWNvZGUubwogb2JqLXkgKz0g ZGV2aWNlLm8KIG9iai15ICs9IGRvbWFpbi5vCmRpZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vY3B1 cG9vbC5jIGIveGVuL2FyY2gvYXJtL2NwdXBvb2wuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwLi43NGE1ZWYzCi0tLSAvZGV2L251bGwKKysrIGIveGVuL2FyY2gvYXJtL2NwdXBv b2wuYwpAQCAtMCwwICsxLDQ1IEBACisvKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRo ZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq CisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDx4ZW4vY3B1bWFzay5oPgor I2luY2x1ZGUgPHhlbi9zY2hlZC5oPgorI2luY2x1ZGUgPHhlbi9zY2hlZC1pZi5oPgorCitpbnQg YXJjaF9jcHVwb29sX2NyZWF0ZShzdHJ1Y3QgY3B1cG9vbCAqYykKK3sKKyAgICBjLT5pbmZvLm1p ZHIgPSAtMTsKKworICAgIHJldHVybiAwOworfQorCitpbnQgYXJjaF9jcHVwb29sX2NwdV9hZGQo c3RydWN0IGNwdXBvb2wgKmMsIHVuc2lnbmVkIGludCBjcHUpCit7CisgICAgaWYgKCggYy0+aW5m by5taWRyID09IC0xICkgfHwgKCBjcHVtYXNrX3dlaWdodChjLT5jcHVfdmFsaWQpID09IDAgKSkK KyAgICB7CisgICAgICAgIGMtPmluZm8ubWlkciA9IGNwdV9kYXRhW2NwdV0ubWlkci5iaXRzOwor CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBlbHNlIGlmICgoIGMtPmluZm8ubWlkciA9 PSBjcHVfZGF0YVtjcHVdLm1pZHIuYml0cyApKQorICAgIHsKKyAgICAgICAgcmV0dXJuIDA7Cisg ICAgfQorICAgIGVsc2UKKyAgICB7CisgICAgICAgIHJldHVybiAtRUlOVkFMOworICAgIH0KK30K KworYm9vbF90IGFyY2hfZG9tYWluX2NwdXBvb2xfY29tcGF0aWJsZShzdHJ1Y3QgZG9tYWluICpk LCBzdHJ1Y3QgY3B1cG9vbCAqYykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9jcHUvTWFrZWZpbGUgYi94ZW4vYXJjaC94ODYvY3B1L01ha2VmaWxlCmlu ZGV4IDc0ZjIzYWUuLjBkMzAzNmUgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9jcHUvTWFrZWZp bGUKKysrIGIveGVuL2FyY2gveDg2L2NwdS9NYWtlZmlsZQpAQCAtNCw2ICs0LDcgQEAgc3ViZGly LXkgKz0gbXRycgogb2JqLXkgKz0gYW1kLm8KIG9iai15ICs9IGNlbnRhdXIubwogb2JqLXkgKz0g Y29tbW9uLm8KK29iai15ICs9IGNwdXBvb2wubwogb2JqLXkgKz0gaW50ZWwubwogb2JqLXkgKz0g aW50ZWxfY2FjaGVpbmZvLm8KIG9iai15ICs9IG13YWl0LWlkbGUubwpkaWZmIC0tZ2l0IGEveGVu L2FyY2gveDg2L2NwdS9jcHVwb29sLmMgYi94ZW4vYXJjaC94ODYvY3B1L2NwdXBvb2wuYwpuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kODk3YTFmCi0tLSAvZGV2L251bGwKKysr IGIveGVuL2FyY2gveDg2L2NwdS9jcHVwb29sLmMKQEAgLTAsMCArMSwzMCBAQAorLyoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworCisj aW5jbHVkZSA8eGVuL2NwdW1hc2suaD4KKyNpbmNsdWRlIDx4ZW4vc2NoZWQuaD4KKyNpbmNsdWRl IDx4ZW4vc2NoZWQtaWYuaD4KKworaW50IGFyY2hfY3B1cG9vbF9jcmVhdGUoc3RydWN0IGNwdXBv b2wgKmMpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBhcmNoX2NwdXBvb2xfY3B1X2FkZChz dHJ1Y3QgY3B1cG9vbCAqYywgdW5zaWduZWQgaW50IGNwdSkKK3sKKyAgICByZXR1cm4gMDsKK30K KworYm9vbF90IGFyY2hfZG9tYWluX2NwdXBvb2xfY29tcGF0aWJsZShzdHJ1Y3QgZG9tYWluICpk LCBzdHJ1Y3QgY3B1cG9vbCAqYykKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KZGlmZiAtLWdpdCBh L3hlbi9jb21tb24vY3B1cG9vbC5jIGIveGVuL2NvbW1vbi9jcHVwb29sLmMKaW5kZXggOTk5ODM5 NC4uNzk4MzIyZCAxMDA2NDQKLS0tIGEveGVuL2NvbW1vbi9jcHVwb29sLmMKKysrIGIveGVuL2Nv bW1vbi9jcHVwb29sLmMKQEAgLTEzNCwxMSArMTM0LDIwIEBAIHN0YXRpYyBzdHJ1Y3QgY3B1cG9v bCAqY3B1cG9vbF9jcmVhdGUoCiAgICAgc3RydWN0IGNwdXBvb2wgKmM7CiAgICAgc3RydWN0IGNw dXBvb2wgKipxOwogICAgIGludCBsYXN0ID0gMDsKKyAgICBpbnQgcmV0OwogCiAgICAgKnBlcnIg PSAtRU5PTUVNOwogICAgIGlmICggKGMgPSBhbGxvY19jcHVwb29sX3N0cnVjdCgpKSA9PSBOVUxM ICkKICAgICAgICAgcmV0dXJuIE5VTEw7CiAKKyAgICByZXQgPSBhcmNoX2NwdXBvb2xfY3JlYXRl KGMpOworICAgIGlmICggcmV0ICkKKyAgICB7CisgICAgICAgICpwZXJyID0gcmV0OworICAgICAg ICBmcmVlX2NwdXBvb2xfc3RydWN0KGMpOworICAgICAgICByZXR1cm4gTlVMTDsKKyAgICB9CisK ICAgICAvKiBPbmUgcmVmZXJlbmNlIGZvciBjYWxsZXIsIG9uZSByZWZlcmVuY2UgZm9yIGNwdXBv b2xfZGVzdHJveSgpLiAqLwogICAgIGF0b21pY19zZXQoJmMtPnJlZmNudCwgMik7CiAKQEAgLTQ5 OCw2ICs1MDcsOCBAQCBzdGF0aWMgaW50IGNwdXBvb2xfY3B1X2FkZCh1bnNpZ25lZCBpbnQgY3B1 KQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIGNwdW1hc2tfdGVzdF9jcHUoY3B1LCAoKmMp LT5jcHVfc3VzcGVuZGVkICkgKQogICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIGlmICgg YXJjaF9jcHVwb29sX2NwdV9hZGQoKmMsIGNwdSkgKQorICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsKICAgICAgICAgICAgICAgICByZXQgPSBjcHVwb29sX2Fzc2lnbl9jcHVfbG9ja2VkKCpj LCBjcHUpOwogICAgICAgICAgICAgICAgIGlmICggcmV0ICkKICAgICAgICAgICAgICAgICAgICAg Z290byBvdXQ7CkBAIC01MTYsNiArNTI3LDEzIEBAIHN0YXRpYyBpbnQgY3B1cG9vbF9jcHVfYWRk KHVuc2lnbmVkIGludCBjcHUpCiAgICAgfQogICAgIGVsc2UKICAgICB7CisgICAgICAgIGlmICgg YXJjaF9jcHVwb29sX2NwdV9hZGQoY3B1cG9vbDAsIGNwdSkgKQorICAgICAgICB7CisgICAgICAg ICAgIC8qIE5vIGZhaWwsIGp1c3Qgc2tpcCBhZGRpbmcgdGhlIGNwdSB0byBjcHVwb29sMCAqLwor ICAgICAgICAgICAgcmV0ID0gMDsKKyAgICAgICAgICAgIGdvdG8gb3V0OworCX0KKwogICAgICAg ICAvKgogICAgICAgICAgKiBJZiB3ZSBhcmUgbm90IHJlc3VtaW5nLCB3ZSBhcmUgaG90LXBsdWdn aW5nIGNwdSwgYW5kIGluIHdoaWNoIGNhc2UKICAgICAgICAgICogd2UgYWRkIGl0IHRvIHBvb2ww LCBhcyBpdCBjZXJ0YWlubHkgd2FzIHRoZXJlIHdoZW4gaG90LXVucGxhZ2dlZApAQCAtNjU3LDYg KzY3NSw5IEBAIGludCBjcHVwb29sX2RvX3N5c2N0bChzdHJ1Y3QgeGVuX3N5c2N0bF9jcHVwb29s X29wICpvcCkKICAgICAgICAgcmV0ID0gLUVOT0VOVDsKICAgICAgICAgaWYgKCBjID09IE5VTEwg KQogICAgICAgICAgICAgZ290byBhZGRjcHVfb3V0OworICAgICAgICByZXQgPSAtRUlOVkFMOwor ICAgICAgICBpZiAoIGFyY2hfY3B1cG9vbF9jcHVfYWRkKGMsIGNwdSkgKQorICAgICAgICAgICAg Z290byBhZGRjcHVfb3V0OwogICAgICAgICByZXQgPSBjcHVwb29sX2Fzc2lnbl9jcHVfbG9ja2Vk KGMsIGNwdSk7CiAgICAgYWRkY3B1X291dDoKICAgICAgICAgc3Bpbl91bmxvY2soJmNwdXBvb2xf bG9jayk7CkBAIC03MDcsNyArNzI4LDE2IEBAIGludCBjcHVwb29sX2RvX3N5c2N0bChzdHJ1Y3Qg eGVuX3N5c2N0bF9jcHVwb29sX29wICpvcCkKIAogICAgICAgICBjID0gY3B1cG9vbF9maW5kX2J5 X2lkKG9wLT5jcHVwb29sX2lkKTsKICAgICAgICAgaWYgKCAoYyAhPSBOVUxMKSAmJiBjcHVtYXNr X3dlaWdodChjLT5jcHVfdmFsaWQpICkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKCAhYXJj aF9kb21haW5fY3B1cG9vbF9jb21wYXRpYmxlIChkLCBjKSApCisgICAgICAgICAgICB7CisgICAg ICAgICAgICAgICAgcmV0ID0gLUVJTlZBTDsKKyAgICAgICAgICAgICAgICBzcGluX3VubG9jaygm Y3B1cG9vbF9sb2NrKTsKKyAgICAgICAgICAgICAgICByY3VfdW5sb2NrX2RvbWFpbihkKTsKKyAg ICAgICAgICAgICAgICBicmVhazsKKwkgICAgfQogICAgICAgICAgICAgcmV0ID0gY3B1cG9vbF9t b3ZlX2RvbWFpbl9sb2NrZWQoZCwgYyk7CisgICAgICAgIH0KIAogICAgICAgICBzcGluX3VubG9j aygmY3B1cG9vbF9sb2NrKTsKICAgICAgICAgY3B1cG9vbF9kcHJpbnRrKCJjcHVwb29sIG1vdmVf ZG9tYWluKGRvbT0lZCktPnBvb2w9JWQgcmV0ICVkXG4iLApkaWZmIC0tZ2l0IGEveGVuL2luY2x1 ZGUveGVuL3NjaGVkLWlmLmggYi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAppbmRleCBlYjUy YWM3Li4xYjJkNGJmIDEwMDY0NAotLS0gYS94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaAorKysg Yi94ZW4vaW5jbHVkZS94ZW4vc2NoZWQtaWYuaApAQCAtMjAzLDQgKzIwMyw3IEBAIHN0YXRpYyBp bmxpbmUgY3B1bWFza190KiBjcHVwb29sX2RvbWFpbl9jcHVtYXNrKHN0cnVjdCBkb21haW4gKmQp CiAgICAgcmV0dXJuIGQtPmNwdXBvb2wtPmNwdV92YWxpZDsKIH0KIAoraW50IGFyY2hfY3B1cG9v bF9jcmVhdGUoc3RydWN0IGNwdXBvb2wgKmMpOworaW50IGFyY2hfY3B1cG9vbF9jcHVfYWRkKHN0 cnVjdCBjcHVwb29sICpjLCB1bnNpZ25lZCBpbnQgY3B1KTsKK2Jvb2xfdCBhcmNoX2RvbWFpbl9j cHVwb29sX2NvbXBhdGlibGUoc3RydWN0IGRvbWFpbiAqZCwgc3RydWN0IGNwdXBvb2wgKmMpOwog I2VuZGlmIC8qIF9fWEVOX1NDSEVEX0lGX0hfXyAqLwotLSAKMi42LjYKCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0 Clhlbi1kZXZlbEBsaXN0cy54ZW4ub3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK