From mboxrd@z Thu Jan 1 00:00:00 1970 From: Wolfgang Bumiller Subject: [RFC PATCH] cgroup, cpuset: add cpuset.remap_cpus Date: Thu, 22 Dec 2016 16:07:51 +0100 Message-ID: <1482419271-15410-1-git-send-email-w.bumiller@proxmox.com> Reply-To: LXC development mailing-list Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: lxc-devel-bounces-cunTk1MwBs9qMoObBWhMNEqPaTDuhLve2LY78lusg7I@public.gmane.org Sender: "lxc-devel" Content-Type: text/plain; charset="us-ascii" To: Li Zefan Cc: cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, lxc-devel-cunTk1MwBs9qMoObBWhMNEqPaTDuhLve2LY78lusg7I@public.gmane.org Q2hhbmdlcyBhIGNwdXNldCwgcmVjdXJzaXZlbHkgcmVtYXBwaW5nIGFsbCBpdHMgZGVzY2VuZGFu dHMKdG8gdGhlIG5ldyByYW5nZS4KClNpZ25lZC1vZmYtYnk6IFdvbGZnYW5nIEJ1bWlsbGVyIDx3 LmJ1bWlsbGVyQHByb3htb3guY29tPgotLS0KQ3VycmVudGx5IG9uY2UgYSBjcHVzZXQgY2dyb3Vw IGhhcyBhIHN1YmRpcmVjdG9yeSBpdCdzIGltcG9zc2libGUgdG8KcmVtb3ZlIGNwdSB3aXRob3V0 IG1hbnVhbGx5IHJlY3Vyc2luZyB0aHJvdWdoIHRoZSBjZ3JvdXAgZmlsZSBzeXN0ZW0uClRoZSBw cm9ibGVtIGdldHMgd29yc2UgaWYgeW91IHdhbnQgdG8gcmVtYXAgY3B1cyBvZiBhIGxhcmdlciBz dWJ0cmVlLgpUaGlzIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwgd2l0aCBjb250YWluZXJzIGFuZCBw cm9ibGVtYXRpYyBpbiB0aGF0CnRoZSByZWN1cnNpb24gbWlnaHQgcmFjZSBhZ2FpbnN0IHRoZSBj cmVhdGlvbiBvZiBuZXcgc3ViZGlyZWN0b3JpZXMuCgpJJ20gbm90IHN1cmUgd2h5IHRoaXMgZnVu Y3Rpb25hbGl0eSBpc24ndCB0aGVyZSB5ZXQgYW5kIHRob3VnaHQgSSdkCmdpdmUgaXQgYSB0cnkg YW5kIHNlbmQgYW4gUkZDIHBhdGNoLiBJJ20gc3VyZSB0aGVyZSdzIGEgcmVhc29uIHRob3VnaCwK Z2l2ZW4gaG93IHN1cnByaXNpbmdseSBzbWFsbC9zaW1wbGUgdGhlIHBhdGNoIHR1cm5lZCBvdXQg dG8gYmUgYW5kCkknbSByYXJlbHkgdGhlIGZpcnN0IHRvIHRoaW5rIG9mIGEgZmVhdHVyZSBsaWtl IHRoYXQgOy0pCgpJIGhvcGUgdGhpcyBpcyBzb21ldGhpbmcgd2UgY291bGQgYWRkIG9uZSB3YXkg b3IgYW5vdGhlciwgaWYgcG9zc2libGUKcmVxdWlyZWQgY2hhbmdlcyB0byB0aGUgcGF0Y2ggYXJl IHdpdGhpbiB0aGUgc2NvcGUgb2YgbXkgYWJpbGl0aWVzLgoKIGluY2x1ZGUvbGludXgvY3B1bWFz ay5oIHwgMTcgKysrKysrKysrKysrKysrKwoga2VybmVsL2NwdXNldC5jICAgICAgICAgfCA1NCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAyIGZpbGVz IGNoYW5nZWQsIDYwIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2luY2x1ZGUvbGludXgvY3B1bWFzay5oIGIvaW5jbHVkZS9saW51eC9jcHVtYXNrLmgKaW5kZXgg NTk5MTVlYS4uZjU0ODdjOCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jcHVtYXNrLmgKKysr IGIvaW5jbHVkZS9saW51eC9jcHVtYXNrLmgKQEAgLTUxNCw2ICs1MTQsMjMgQEAgc3RhdGljIGlu bGluZSB2b2lkIGNwdW1hc2tfY29weShzdHJ1Y3QgY3B1bWFzayAqZHN0cCwKIH0KIAogLyoqCisg KiBjcHVtYXNrX3JlbWFwIC0gKmRzdHAgPSBtYXAob2xkLCBuZXcpKCpzcmNwKQorICogQGRzdHA6 IHRoZSByZXN1bHQKKyAqIEBzcmNwOiB0aGUgaW5wdXQgY3B1bWFzaworICogQG9sZHA6IHRoZSBv bGQgbWFzaworICogQG5ld3A6IHRoZSBuZXcgbWFzaworICovCitzdGF0aWMgaW5saW5lIHZvaWQg Y3B1bWFza19yZW1hcChzdHJ1Y3QgY3B1bWFzayAqZHN0cCwKKwkJCQkgY29uc3Qgc3RydWN0IGNw dW1hc2sgKnNyY3AsCisJCQkJIGNvbnN0IHN0cnVjdCBjcHVtYXNrICpvbGRwLAorCQkJCSBjb25z dCBzdHJ1Y3QgY3B1bWFzayAqbmV3cCkKK3sKKwliaXRtYXBfcmVtYXAoY3B1bWFza19iaXRzKGRz dHApLCBjcHVtYXNrX2JpdHMoc3JjcCksCisJCSAgICAgY3B1bWFza19iaXRzKG9sZHApLCBjcHVt YXNrX2JpdHMobmV3cCksCisJCSAgICAgbnJfY3B1bWFza19iaXRzKTsKK30KKworLyoqCiAgKiBj cHVtYXNrX2FueSAtIHBpY2sgYSAicmFuZG9tIiBjcHUgZnJvbSAqc3JjcAogICogQHNyY3A6IHRo ZSBpbnB1dCBjcHVtYXNrCiAgKgpkaWZmIC0tZ2l0IGEva2VybmVsL2NwdXNldC5jIGIva2VybmVs L2NwdXNldC5jCmluZGV4IDAyYThlYTUuLjIyZDBjYjIgMTAwNjQ0Ci0tLSBhL2tlcm5lbC9jcHVz ZXQuYworKysgYi9rZXJuZWwvY3B1c2V0LmMKQEAgLTQ1MCw3ICs0NTAsOCBAQCBzdGF0aWMgdm9p ZCBmcmVlX3RyaWFsX2NwdXNldChzdHJ1Y3QgY3B1c2V0ICp0cmlhbCkKICAqIFJldHVybiAwIGlm IHZhbGlkLCAtZXJybm8gaWYgbm90LgogICovCiAKLXN0YXRpYyBpbnQgdmFsaWRhdGVfY2hhbmdl KHN0cnVjdCBjcHVzZXQgKmN1ciwgc3RydWN0IGNwdXNldCAqdHJpYWwpCitzdGF0aWMgaW50IHZh bGlkYXRlX2NoYW5nZShzdHJ1Y3QgY3B1c2V0ICpjdXIsIHN0cnVjdCBjcHVzZXQgKnRyaWFsLAor CQkJICAgYm9vbCByZW1hcCkKIHsKIAlzdHJ1Y3QgY2dyb3VwX3N1YnN5c19zdGF0ZSAqY3NzOwog CXN0cnVjdCBjcHVzZXQgKmMsICpwYXI7CkBAIC00NTgsMTEgKzQ1OSwxMyBAQCBzdGF0aWMgaW50 IHZhbGlkYXRlX2NoYW5nZShzdHJ1Y3QgY3B1c2V0ICpjdXIsIHN0cnVjdCBjcHVzZXQgKnRyaWFs KQogCiAJcmN1X3JlYWRfbG9jaygpOwogCi0JLyogRWFjaCBvZiBvdXIgY2hpbGQgY3B1c2V0cyBt dXN0IGJlIGEgc3Vic2V0IG9mIHVzICovCi0JcmV0ID0gLUVCVVNZOwotCWNwdXNldF9mb3JfZWFj aF9jaGlsZChjLCBjc3MsIGN1cikKLQkJaWYgKCFpc19jcHVzZXRfc3Vic2V0KGMsIHRyaWFsKSkK LQkJCWdvdG8gb3V0OworCWlmICghcmVtYXApIHsKKwkJLyogRWFjaCBvZiBvdXIgY2hpbGQgY3B1 c2V0cyBtdXN0IGJlIGEgc3Vic2V0IG9mIHVzICovCisJCXJldCA9IC1FQlVTWTsKKwkJY3B1c2V0 X2Zvcl9lYWNoX2NoaWxkKGMsIGNzcywgY3VyKQorCQkJaWYgKCFpc19jcHVzZXRfc3Vic2V0KGMs IHRyaWFsKSkKKwkJCQlnb3RvIG91dDsKKwl9CiAKIAkvKiBSZW1haW5pbmcgY2hlY2tzIGRvbid0 IGFwcGx5IHRvIHJvb3QgY3B1c2V0ICovCiAJcmV0ID0gMDsKQEAgLTkyNSwxMSArOTI4LDE1IEBA IHN0YXRpYyB2b2lkIHVwZGF0ZV9jcHVtYXNrc19oaWVyKHN0cnVjdCBjcHVzZXQgKmNzLCBzdHJ1 Y3QgY3B1bWFzayAqbmV3X2NwdXMpCiAgKiBAY3M6IHRoZSBjcHVzZXQgdG8gY29uc2lkZXIKICAq IEB0cmlhbGNzOiB0cmlhbCBjcHVzZXQKICAqIEBidWY6IGJ1ZmZlciBvZiBjcHUgbnVtYmVycyB3 cml0dGVuIHRvIHRoaXMgY3B1c2V0CisgKiBAcmVtYXA6IHJlY3Vyc2l2ZWx5IHJlbWFwIGFsbCBj aGlsZCBub2RlcwogICovCiBzdGF0aWMgaW50IHVwZGF0ZV9jcHVtYXNrKHN0cnVjdCBjcHVzZXQg KmNzLCBzdHJ1Y3QgY3B1c2V0ICp0cmlhbGNzLAotCQkJICBjb25zdCBjaGFyICpidWYpCisJCQkg IGNvbnN0IGNoYXIgKmJ1ZiwgYm9vbCByZW1hcCkKIHsKIAlpbnQgcmV0dmFsOworCXN0cnVjdCBj cHVzZXQgKmNwOworCXN0cnVjdCBjZ3JvdXBfc3Vic3lzX3N0YXRlICpwb3NfY3NzOworCXN0cnVj dCBjcHVtYXNrIHRlbXBtYXNrOwogCiAJLyogdG9wX2NwdXNldC5jcHVzX2FsbG93ZWQgdHJhY2tz IGNwdV9vbmxpbmVfbWFzazsgaXQncyByZWFkLW9ubHkgKi8KIAlpZiAoY3MgPT0gJnRvcF9jcHVz ZXQpCkBAIC05NTcsMTEgKzk2NCwyNSBAQCBzdGF0aWMgaW50IHVwZGF0ZV9jcHVtYXNrKHN0cnVj dCBjcHVzZXQgKmNzLCBzdHJ1Y3QgY3B1c2V0ICp0cmlhbGNzLAogCWlmIChjcHVtYXNrX2VxdWFs KGNzLT5jcHVzX2FsbG93ZWQsIHRyaWFsY3MtPmNwdXNfYWxsb3dlZCkpCiAJCXJldHVybiAwOwog Ci0JcmV0dmFsID0gdmFsaWRhdGVfY2hhbmdlKGNzLCB0cmlhbGNzKTsKKwlyZXR2YWwgPSB2YWxp ZGF0ZV9jaGFuZ2UoY3MsIHRyaWFsY3MsIHJlbWFwKTsKIAlpZiAocmV0dmFsIDwgMCkKIAkJcmV0 dXJuIHJldHZhbDsKIAogCXNwaW5fbG9ja19pcnEoJmNhbGxiYWNrX2xvY2spOworCWlmIChyZW1h cCkgeworCQlyY3VfcmVhZF9sb2NrKCk7CisJCWNwdXNldF9mb3JfZWFjaF9kZXNjZW5kYW50X3By ZShjcCwgcG9zX2NzcywgY3MpIHsKKwkJCS8qIHNraXAgZW1wdHkgc3VidHJlZXMgKi8KKwkJCWlm IChjcHVtYXNrX2VtcHR5KGNwLT5jcHVzX2FsbG93ZWQpKSB7CisJCQkJcG9zX2NzcyA9IGNzc19y aWdodG1vc3RfZGVzY2VuZGFudChwb3NfY3NzKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWNw dW1hc2tfY29weSgmdGVtcG1hc2ssIGNwLT5jcHVzX2FsbG93ZWQpOworCQkJY3B1bWFza19yZW1h cChjcC0+Y3B1c19hbGxvd2VkLCAmdGVtcG1hc2ssCisJCQkJICAgICAgY3MtPmNwdXNfYWxsb3dl ZCwgdHJpYWxjcy0+Y3B1c19hbGxvd2VkKTsKKwkJfQorCQlyY3VfcmVhZF91bmxvY2soKTsKKwl9 CiAJY3B1bWFza19jb3B5KGNzLT5jcHVzX2FsbG93ZWQsIHRyaWFsY3MtPmNwdXNfYWxsb3dlZCk7 CiAJc3Bpbl91bmxvY2tfaXJxKCZjYWxsYmFja19sb2NrKTsKIApAQCAtMTIxNyw3ICsxMjM4LDcg QEAgc3RhdGljIGludCB1cGRhdGVfbm9kZW1hc2soc3RydWN0IGNwdXNldCAqY3MsIHN0cnVjdCBj cHVzZXQgKnRyaWFsY3MsCiAJCXJldHZhbCA9IDA7CQkvKiBUb28gZWFzeSAtIG5vdGhpbmcgdG8g ZG8gKi8KIAkJZ290byBkb25lOwogCX0KLQlyZXR2YWwgPSB2YWxpZGF0ZV9jaGFuZ2UoY3MsIHRy aWFsY3MpOworCXJldHZhbCA9IHZhbGlkYXRlX2NoYW5nZShjcywgdHJpYWxjcywgZmFsc2UpOwog CWlmIChyZXR2YWwgPCAwKQogCQlnb3RvIGRvbmU7CiAKQEAgLTEzMDQsNyArMTMyNSw3IEBAIHN0 YXRpYyBpbnQgdXBkYXRlX2ZsYWcoY3B1c2V0X2ZsYWdiaXRzX3QgYml0LCBzdHJ1Y3QgY3B1c2V0 ICpjcywKIAllbHNlCiAJCWNsZWFyX2JpdChiaXQsICZ0cmlhbGNzLT5mbGFncyk7CiAKLQllcnIg PSB2YWxpZGF0ZV9jaGFuZ2UoY3MsIHRyaWFsY3MpOworCWVyciA9IHZhbGlkYXRlX2NoYW5nZShj cywgdHJpYWxjcywgZmFsc2UpOwogCWlmIChlcnIgPCAwKQogCQlnb3RvIG91dDsKIApAQCAtMTU2 Myw2ICsxNTg0LDcgQEAgc3RhdGljIHZvaWQgY3B1c2V0X2F0dGFjaChzdHJ1Y3QgY2dyb3VwX3Rh c2tzZXQgKnRzZXQpCiB0eXBlZGVmIGVudW0gewogCUZJTEVfTUVNT1JZX01JR1JBVEUsCiAJRklM RV9DUFVMSVNULAorCUZJTEVfUkVNQVBfQ1BVTElTVCwKIAlGSUxFX01FTUxJU1QsCiAJRklMRV9F RkZFQ1RJVkVfQ1BVTElTVCwKIAlGSUxFX0VGRkVDVElWRV9NRU1MSVNULApAQCAtMTY5NSw3ICsx NzE3LDEwIEBAIHN0YXRpYyBzc2l6ZV90IGNwdXNldF93cml0ZV9yZXNtYXNrKHN0cnVjdCBrZXJu ZnNfb3Blbl9maWxlICpvZiwKIAogCXN3aXRjaCAob2ZfY2Z0KG9mKS0+cHJpdmF0ZSkgewogCWNh c2UgRklMRV9DUFVMSVNUOgotCQlyZXR2YWwgPSB1cGRhdGVfY3B1bWFzayhjcywgdHJpYWxjcywg YnVmKTsKKwkJcmV0dmFsID0gdXBkYXRlX2NwdW1hc2soY3MsIHRyaWFsY3MsIGJ1ZiwgZmFsc2Up OworCQlicmVhazsKKwljYXNlIEZJTEVfUkVNQVBfQ1BVTElTVDoKKwkJcmV0dmFsID0gdXBkYXRl X2NwdW1hc2soY3MsIHRyaWFsY3MsIGJ1ZiwgdHJ1ZSk7CiAJCWJyZWFrOwogCWNhc2UgRklMRV9N RU1MSVNUOgogCQlyZXR2YWwgPSB1cGRhdGVfbm9kZW1hc2soY3MsIHRyaWFsY3MsIGJ1Zik7CkBA IC0xODExLDYgKzE4MzYsMTMgQEAgc3RhdGljIHN0cnVjdCBjZnR5cGUgZmlsZXNbXSA9IHsKIAl9 LAogCiAJeworCQkubmFtZSA9ICJyZW1hcF9jcHVzIiwKKwkJLndyaXRlID0gY3B1c2V0X3dyaXRl X3Jlc21hc2ssCisJCS5tYXhfd3JpdGVfbGVuID0gKDEwMFUgKyA2ICogTlJfQ1BVUyksCisJCS5w cml2YXRlID0gRklMRV9SRU1BUF9DUFVMSVNULAorCX0sCisKKwl7CiAJCS5uYW1lID0gIm1lbXMi LAogCQkuc2VxX3Nob3cgPSBjcHVzZXRfY29tbW9uX3NlcV9zaG93LAogCQkud3JpdGUgPSBjcHVz ZXRfd3JpdGVfcmVzbWFzaywKLS0gCjIuMS40CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KbHhjLWRldmVsIG1haWxpbmcgbGlzdApseGMtZGV2ZWxAbGlz dHMubGludXhjb250YWluZXJzLm9yZwpodHRwOi8vbGlzdHMubGludXhjb250YWluZXJzLm9yZy9s aXN0aW5mby9seGMtZGV2ZWwK