From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v3 1/6] cgroup: Allow registration and lookup of cgroup private data Date: Tue, 6 Mar 2018 15:46:55 -0800 Message-ID: <20180306234700.6562-2-matthew.d.roper@intel.com> References: <20180306234700.6562-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180306234700.6562-1-matthew.d.roper@intel.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Content-Type: text/plain; charset="us-ascii" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, cgroups@vger.kernel.org Cc: Tejun Heo VGhlcmUgYXJlIGNhc2VzIHdoZXJlIG90aGVyIHBhcnRzIG9mIHRoZSBrZXJuZWwgbWF5IHdpc2gg dG8gc3RvcmUgZGF0YQphc3NvY2lhdGVkIHdpdGggaW5kaXZpZHVhbCBjZ3JvdXBzIHdpdGhvdXQg YnVpbGRpbmcgYSBmdWxsIGNncm91cApjb250cm9sbGVyLiAgTGV0J3MgYWRkIGludGVyZmFjZXMg dG8gYWxsb3cgdGhlbSB0byByZWdpc3RlciBhbmQgbG9va3VwCnRoaXMgcHJpdmF0ZSBkYXRhIGZv ciBpbmRpdmlkdWFsIGNncm91cHMuCgpBIGtlcm5lbCBzeXN0ZW0gKGUuZy4sIGEgZHJpdmVyKSB0 aGF0IHdpc2hlcyB0byByZWdpc3RlciBwcml2YXRlIGRhdGEKZm9yIGEgY2dyb3VwIHdpbGwgZG8g c28gYnkgc3ViY2xhc3NpbmcgdGhlICdzdHJ1Y3QgY2dyb3VwX3ByaXYnCnN0cnVjdHVyZSB0byBk ZXNjcmliZSB0aGUgbmVjZXNzYXJ5IGRhdGEgdG8gc3RvcmUuICBCZWZvcmUgcmVnaXN0ZXJpbmcg YQpwcml2YXRlIGRhdGEgc3RydWN0dXJlIHRvIGEgY2dyb3VwLCB0aGUgY2FsbGVyIHNob3VsZCBm aWxsIGluIHRoZSAna2V5JwphbmQgJ2ZyZWUnIGZpZWxkcyBvZiB0aGUgYmFzZSBjZ3JvdXBfcHJp diBzdHJ1Y3R1cmUuCgogKiAna2V5JyBzaG91bGQgYmUgYSB1bmlxdWUgdm9pZCogdGhhdCB3aWxs IGFjdCBhcyBhIGtleSBmb3IgZnV0dXJlCiAgIHByaXZkYXRhIGxvb2t1cHMvcmVtb3ZhbHMuICBO b3RlIHRoYXQgdGhpcyBhbGxvd3MgZHJpdmVycyB0byBzdG9yZQogICBwZXItZGV2aWNlIHByaXZh dGUgZGF0YSBmb3IgYSBjZ3JvdXAgYnkgdXNpbmcgYSBkZXZpY2UgcG9pbnRlciBhcyBhIGtleS4K CiAqICdmcmVlJyBzaG91bGQgYmUgYSBmdW5jdGlvbiBwb2ludGVyIHRvIGEgZnVuY3Rpb24gdGhh dCBtYXkgYmUgdXNlZAogICB0byBkZXN0cm95IHRoZSBwcml2YXRlIGRhdGEuICBUaGlzIGZ1bmN0 aW9uIHdpbGwgYmUgY2FsbGVkCiAgIGF1dG9tYXRpY2FsbHkgaWYgdGhlIHVuZGVybHlpbmcgY2dy b3VwIGlzIGRlc3Ryb3llZC4KCkNjOiBUZWp1biBIZW8gPHRqQGtlcm5lbC5vcmc+CkNjOiBjZ3Jv dXBzQHZnZXIua2VybmVsLm9yZwpTaWduZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQu cm9wZXJAaW50ZWwuY29tPgotLS0KIGluY2x1ZGUvbGludXgvY2dyb3VwLWRlZnMuaCB8IDM4ICsr KysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvbGludXgvY2dyb3VwLmggICAgICB8IDc4ICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwoga2VybmVsL2Nncm91 cC9jZ3JvdXAuYyAgICAgIHwgMTQgKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTMwIGluc2Vy dGlvbnMoKykKCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2Nncm91cC1kZWZzLmggYi9pbmNs dWRlL2xpbnV4L2Nncm91cC1kZWZzLmgKaW5kZXggOWYyNDJiODc2ZmRlLi4xN2M2NzlhN2I1ZGUg MTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgvY2dyb3VwLWRlZnMuaAorKysgYi9pbmNsdWRlL2xp bnV4L2Nncm91cC1kZWZzLmgKQEAgLTgsNiArOCw3IEBACiAjaWZuZGVmIF9MSU5VWF9DR1JPVVBf REVGU19ICiAjZGVmaW5lIF9MSU5VWF9DR1JPVVBfREVGU19ICiAKKyNpbmNsdWRlIDxsaW51eC9o YXNodGFibGUuaD4KICNpbmNsdWRlIDxsaW51eC9saW1pdHMuaD4KICNpbmNsdWRlIDxsaW51eC9s aXN0Lmg+CiAjaW5jbHVkZSA8bGludXgvaWRyLmg+CkBAIC0zMDcsNiArMzA4LDM2IEBAIHN0cnVj dCBjZ3JvdXBfc3RhdCB7CiAJc3RydWN0IHByZXZfY3B1dGltZSBwcmV2X2NwdXRpbWU7CiB9Owog CisvKgorICogUHJpdmF0ZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIGNncm91cCBieSBhbiBpbmRw ZW5kZW50IChub24tY29udHJvbGxlcikgcGFydAorICogb2YgdGhlIGtlcm5lbC4gIFRoaXMgaXMg dXNlZnVsIGZvciB0aGluZ3MgbGlrZSBkcml2ZXJzIHRoYXQgbWF5IHdpc2ggdG8gdHJhY2sKKyAq IHRoZWlyIG93biBjZ3JvdXAtc3BlY2lmaWMgZGF0YS4KKyAqCisgKiBJZiBhbiBpbmRpdmlkdWFs IGNncm91cCBpcyBkZXN0cm95ZWQsIHRoZSBjZ3JvdXBzIGZyYW1ld29yayB3aWxsCisgKiBhdXRv bWF0aWNhbGx5IGZyZWUgYWxsIGFzc29jaWF0ZWQgcHJpdmF0ZSBkYXRhLiAgSWYgY2dyb3VwIHBy aXZhdGUgZGF0YSBpcworICogcmVnaXN0ZXJlZCBieSBhIGtlcm5lbCBtb2R1bGUsIHRoZW4gaXQg aXMgdGhlIG1vZHVsZSdzIHJlc3BvbnNpYmlsaXR5IHRvCisgKiBtYW51YWxseSBmcmVlIGl0cyBv d24gcHJpdmF0ZSBkYXRhIHVwb24gdW5sb2FkLgorICovCitzdHJ1Y3QgY2dyb3VwX3ByaXYgewor CS8qIGNncm91cCB0aGlzIHByaXZhdGUgZGF0YSBpcyBhc3NvY2lhdGVkIHdpdGggKi8KKwlzdHJ1 Y3QgY2dyb3VwICpjZ3JvdXA7CisKKwkvKgorCSAqIExvb2t1cCBrZXkgdGhhdCBkZWZpbmVzIHRo ZSBpbi1rZXJuZWwgY29uc3VtZXIgb2YgdGhpcyBwcml2YXRlCisJICogZGF0YS4KKwkgKi8KKwlj b25zdCB2b2lkICprZXk7CisKKwkvKgorCSAqIEZ1bmN0aW9uIHRvIHJlbGVhc2UgcHJpdmF0ZSBk YXRhLiAgVGhpcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsbGVkCisJICogaWYvd2hlbiB0aGUg Y2dyb3VwIGlzIGRlc3Ryb3llZC4KKwkgKi8KKwl2b2lkICgqZnJlZSkoc3RydWN0IGNncm91cF9w cml2ICpwcml2KTsKKworCS8qIEhhc2hsaXN0IG5vZGUgaW4gY2dyb3VwJ3MgcHJpdmRhdGEgaGFz aHRhYmxlICovCisJc3RydWN0IGhsaXN0X25vZGUgaG5vZGU7Cit9OworCiBzdHJ1Y3QgY2dyb3Vw IHsKIAkvKiBzZWxmIGNzcyB3aXRoIE5VTEwgLT5zcywgcG9pbnRzIGJhY2sgdG8gdGhpcyBjZ3Jv dXAgKi8KIAlzdHJ1Y3QgY2dyb3VwX3N1YnN5c19zdGF0ZSBzZWxmOwpAQCAtNDI3LDYgKzQ1OCwx MyBAQCBzdHJ1Y3QgY2dyb3VwIHsKIAkvKiB1c2VkIHRvIHN0b3JlIGVCUEYgcHJvZ3JhbXMgKi8K IAlzdHJ1Y3QgY2dyb3VwX2JwZiBicGY7CiAKKwkvKgorCSAqIGNncm91cCBwcml2YXRlIGRhdGEg cmVnaXN0ZXJlZCBieSBvdGhlciBub24tY29udHJvbGxlciBwYXJ0cyBvZiB0aGUKKwkgKiBrZXJu ZWwKKwkgKi8KKwlERUNMQVJFX0hBU0hUQUJMRShwcml2ZGF0YSwgNCk7CisJc3RydWN0IG11dGV4 IHByaXZkYXRhX211dGV4OworCiAJLyogaWRzIG9mIHRoZSBhbmNlc3RvcnMgYXQgZWFjaCBsZXZl bCBpbmNsdWRpbmcgc2VsZiAqLwogCWludCBhbmNlc3Rvcl9pZHNbXTsKIH07CmRpZmYgLS1naXQg YS9pbmNsdWRlL2xpbnV4L2Nncm91cC5oIGIvaW5jbHVkZS9saW51eC9jZ3JvdXAuaAppbmRleCA0 NzNlMGMwYWJiODYuLmEzNjA0YjAwNTQxNyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9jZ3Jv dXAuaAorKysgYi9pbmNsdWRlL2xpbnV4L2Nncm91cC5oCkBAIC04MzMsNCArODMzLDgyIEBAIHN0 YXRpYyBpbmxpbmUgdm9pZCBwdXRfY2dyb3VwX25zKHN0cnVjdCBjZ3JvdXBfbmFtZXNwYWNlICpu cykKIAkJZnJlZV9jZ3JvdXBfbnMobnMpOwogfQogCisvKioKKyAqIGNncm91cF9wcml2X2luc3Rh bGwgLSBpbnN0YWxsIG5ldyBjZ3JvdXAgcHJpdmF0ZSBkYXRhCisgKiBAa2V5OiBLZXkgdW5pcXVl bHkgaWRlbnRpZnlpbmcga2VybmVsIG93bmVyIG9mIHByaXZhdGUgZGF0YQorICoKKyAqIEFsbG93 cyBub24tY29udHJvbGxlciBrZXJuZWwgc3Vic3lzdGVtcyB0byByZWdpc3RlciB0aGVpciBvd24g cHJpdmF0ZSBkYXRhCisgKiBhc3NvY2lhdGVkIHdpdGggYSBjZ3JvdXAuICBUaGlzIHdpbGwgb2Z0 ZW4gYmUgdXNlZCBieSBkcml2ZXJzIHdoaWNoIHdpc2ggdG8KKyAqIHRyYWNrIHRoZWlyIG93biBw ZXItY2dyb3VwIGRhdGEgd2l0aG91dCBidWlsZGluZyBhIGZ1bGwgY2dyb3VwIGNvbnRyb2xsZXIu CisgKgorICogQ2FsbGVycyBzaG91bGQgZW5zdXJlIHRoYXQgbm8gZXhpc3RpbmcgcHJpdmF0ZSBk YXRhIGV4aXN0cyBmb3IgdGhlIGdpdmVuIGtleQorICogYmVmb3JlIGFkZGluZyBuZXcgcHJpdmF0 ZSBkYXRhLiAgSWYgdHdvIHNldHMgb2YgcHJpdmF0ZSBkYXRhIGFyZSByZWdpc3RlcmVkCisgKiB3 aXRoIHRoZSBzYW1lIGtleSwgaXQgaXMgdW5kZWZpbmVkIHdoaWNoIHdpbGwgYmUgcmV0dXJuZWQg YnkgZnV0dXJlIGNhbGxzCisgKiB0byBjZ3JvdXBfcHJpdl9sb29rdXAuCisgKgorICogS2VybmVs IG1vZHVsZXMgdGhhdCByZWdpc3RlciBwcml2YXRlIGRhdGEgd2l0aCB0aGlzIGZ1bmN0aW9uIHNo b3VsZCB0YWtlCisgKiBjYXJlIHRvIGZyZWUgdGhlaXIgcHJpdmF0ZSBkYXRhIHdoZW4gdW5sb2Fk ZWQgdG8gcHJldmVudCBsZWFrcy4KKyAqLworc3RhdGljIGlubGluZSB2b2lkCitjZ3JvdXBfcHJp dl9pbnN0YWxsKHN0cnVjdCBjZ3JvdXAgKmNncnAsCisJCSAgICBzdHJ1Y3QgY2dyb3VwX3ByaXYg KnByaXYpCit7CisJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZjZ3JwLT5wcml2ZGF0YV9tdXRl eCkpOworCVdBUk5fT04oIXByaXYtPmtleSk7CisJV0FSTl9PTighcHJpdi0+ZnJlZSk7CisJV0FS Tl9PTihwcml2LT5jZ3JvdXApOworCisJcHJpdi0+Y2dyb3VwID0gY2dycDsKKwloYXNoX2FkZChj Z3JwLT5wcml2ZGF0YSwgJnByaXYtPmhub2RlLAorCQkgKHVuc2lnbmVkIGxvbmcpcHJpdi0+a2V5 KTsKK30KKworLyoqCisgKiBjZ3JvdXBfcHJpdl9sb29rdXAgLSBsb29rcyB1cCBjZ3JvdXAgcHJp dmF0ZSBkYXRhCisgKiBAa2V5OiBLZXkgdW5pcXVlbHkgaWRlbnRpZnlpbmcgb3duZXIgb2YgcHJp dmF0ZSBkYXRhIHRvIGxvb2t1cAorICoKKyAqIExvb2tzIHVwIHRoZSBwcml2YXRlIGRhdGEgYXNz b2NpYXRlZCB3aXRoIGEga2V5LgorICoKKyAqIFJldHVybnM6CisgKiBQcmV2aW91c2x5IHJlZ2lz dGVyZWQgY2dyb3VwIHByaXZhdGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGdpdmVuIGtleSwg b3IKKyAqIE5VTEwgaWYgbm8gcHJpdmF0ZSBkYXRhIGhhcyBiZWVuIHJlZ2lzdGVyZWQuCisgKi8K K3N0YXRpYyBpbmxpbmUgc3RydWN0IGNncm91cF9wcml2ICoKK2Nncm91cF9wcml2X2xvb2t1cChz dHJ1Y3QgY2dyb3VwICpjZ3JwLAorCQkgICBjb25zdCB2b2lkICprZXkpCit7CisJc3RydWN0IGNn cm91cF9wcml2ICpwcml2OworCisJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZjZ3JwLT5wcml2 ZGF0YV9tdXRleCkpOworCisJaGFzaF9mb3JfZWFjaF9wb3NzaWJsZShjZ3JwLT5wcml2ZGF0YSwg cHJpdiwgaG5vZGUsCisJCQkgICAgICAgKHVuc2lnbmVkIGxvbmcpa2V5KQorCQlpZiAocHJpdi0+ a2V5ID09IGtleSkKKwkJCXJldHVybiBwcml2OworCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgor ICogY2dyb3VwX3ByaXZfZnJlZSAtIGZyZWUgY2dyb3VwIHByaXZhdGUgZGF0YQorICogQGtleTog S2V5IHVuaXF1ZWx5IGlkZW50aWZ5aW5nIG93bmVyIG9mIHByaXZhdGUgZGF0YSB0byBmcmVlCisg Ki8KK3N0YXRpYyBpbmxpbmUgdm9pZAorY2dyb3VwX3ByaXZfZnJlZShzdHJ1Y3QgY2dyb3VwICpj Z3JwLCBjb25zdCB2b2lkICprZXkpCit7CisJc3RydWN0IGNncm91cF9wcml2ICpwcml2OworCXN0 cnVjdCBobGlzdF9ub2RlICp0bXA7CisKKwltdXRleF9sb2NrKCZjZ3JwLT5wcml2ZGF0YV9tdXRl eCk7CisKKwloYXNoX2Zvcl9lYWNoX3Bvc3NpYmxlX3NhZmUoY2dycC0+cHJpdmRhdGEsIHByaXYs IHRtcCwgaG5vZGUsCisJCQkJICAgICh1bnNpZ25lZCBsb25nKWtleSkgeworCQloYXNoX2RlbCgm cHJpdi0+aG5vZGUpOworCQlpZiAocHJpdi0+a2V5ID09IGtleSAmJiAhV0FSTl9PTihwcml2LT5m cmVlID09IE5VTEwpKQorCQkJcHJpdi0+ZnJlZShwcml2KTsKKwl9CisKKwltdXRleF91bmxvY2so JmNncnAtPnByaXZkYXRhX211dGV4KTsKK30KKwogI2VuZGlmIC8qIF9MSU5VWF9DR1JPVVBfSCAq LwpkaWZmIC0tZ2l0IGEva2VybmVsL2Nncm91cC9jZ3JvdXAuYyBiL2tlcm5lbC9jZ3JvdXAvY2dy b3VwLmMKaW5kZXggOGNkYTNiYzNhZTIyLi45ZTU3NmRjOGI1NjYgMTAwNjQ0Ci0tLSBhL2tlcm5l bC9jZ3JvdXAvY2dyb3VwLmMKKysrIGIva2VybmVsL2Nncm91cC9jZ3JvdXAuYwpAQCAtMTgzOSw2 ICsxODM5LDggQEAgc3RhdGljIHZvaWQgaW5pdF9jZ3JvdXBfaG91c2VrZWVwaW5nKHN0cnVjdCBj Z3JvdXAgKmNncnApCiAJSU5JVF9MSVNUX0hFQUQoJmNncnAtPmNzZXRfbGlua3MpOwogCUlOSVRf TElTVF9IRUFEKCZjZ3JwLT5waWRsaXN0cyk7CiAJbXV0ZXhfaW5pdCgmY2dycC0+cGlkbGlzdF9t dXRleCk7CisJaGFzaF9pbml0KGNncnAtPnByaXZkYXRhKTsKKwltdXRleF9pbml0KCZjZ3JwLT5w cml2ZGF0YV9tdXRleCk7CiAJY2dycC0+c2VsZi5jZ3JvdXAgPSBjZ3JwOwogCWNncnAtPnNlbGYu ZmxhZ3MgfD0gQ1NTX09OTElORTsKIAljZ3JwLT5kb21fY2dycCA9IGNncnA7CkBAIC00NTc4LDYg KzQ1ODAsOSBAQCBzdGF0aWMgdm9pZCBjc3NfcmVsZWFzZV93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yaykKIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBjZ3JvdXBfc3Vic3lzX3N0 YXRlLCBkZXN0cm95X3dvcmspOwogCXN0cnVjdCBjZ3JvdXBfc3Vic3lzICpzcyA9IGNzcy0+c3M7 CiAJc3RydWN0IGNncm91cCAqY2dycCA9IGNzcy0+Y2dyb3VwOworCXN0cnVjdCBjZ3JvdXBfcHJp diAqcHJpdjsKKwlzdHJ1Y3QgaGxpc3Rfbm9kZSAqdG1wOworCWludCBpOwogCiAJbXV0ZXhfbG9j aygmY2dyb3VwX211dGV4KTsKIApAQCAtNDYxNyw2ICs0NjIyLDE1IEBAIHN0YXRpYyB2b2lkIGNz c19yZWxlYXNlX3dvcmtfZm4oc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQogCQkJCQkgTlVMTCk7 CiAKIAkJY2dyb3VwX2JwZl9wdXQoY2dycCk7CisKKwkJLyogQW55IHByaXZhdGUgZGF0YSBtdXN0 IGJlIHJlbGVhc2VkIGF1dG9tYXRpY2FsbHkgKi8KKwkJbXV0ZXhfbG9jaygmY2dycC0+cHJpdmRh dGFfbXV0ZXgpOworCQloYXNoX2Zvcl9lYWNoX3NhZmUoY2dycC0+cHJpdmRhdGEsIGksIHRtcCwg cHJpdiwgaG5vZGUpIHsKKwkJCWhhc2hfZGVsKCZwcml2LT5obm9kZSk7CisJCQlpZiAoIVdBUk5f T04oIXByaXYtPmZyZWUpKQorCQkJCXByaXYtPmZyZWUocHJpdik7CisJCX0KKwkJbXV0ZXhfdW5s b2NrKCZjZ3JwLT5wcml2ZGF0YV9tdXRleCk7CiAJfQogCiAJbXV0ZXhfdW5sb2NrKCZjZ3JvdXBf bXV0ZXgpOwotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK