From mboxrd@z Thu Jan 1 00:00:00 1970 From: Saeed Mahameed Subject: [PATCH mlx5-next 02/16] net/mlx5: E-Switch, Handle representors creation in handler context Date: Mon, 10 Jun 2019 23:38:16 +0000 Message-ID: <20190610233733.12155-3-saeedm@mellanox.com> References: <20190610233733.12155-1-saeedm@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190610233733.12155-1-saeedm@mellanox.com> Content-Language: en-US Sender: netdev-owner@vger.kernel.org To: Saeed Mahameed , Leon Romanovsky Cc: "linux-rdma@vger.kernel.org" , "netdev@vger.kernel.org" , Vu Pham , Parav Pandit , Bodong Wang List-Id: linux-rdma@vger.kernel.org RnJvbTogVnUgUGhhbSA8dnVodW9uZ0BtZWxsYW5veC5jb20+DQoNClVuaWZpZWQgcmVwcmVzZW50 b3JzIGNyZWF0aW9uIGluIGVzd19mdW5jdGlvbnNfY2hhbmdlZCBjb250ZXh0DQpoYW5kbGVyLiBF bXVsYXRlIHRoZSBlc3dfZnVuY3Rpb25fY2hhbmdlZCBldmVudCBmb3IgRlcvSFcgdGhhdA0KZG9l cyBub3Qgc3VwcG9ydCB0aGlzIGV2ZW50Lg0KDQpTaWduZWQtb2ZmLWJ5OiBWdSBQaGFtIDx2dWh1 b25nQG1lbGxhbm94LmNvbT4NClJldmlld2VkLWJ5OiBQYXJhdiBQYW5kaXQgPHBhcmF2QG1lbGxh bm94LmNvbT4NClJldmlld2VkLWJ5OiBCb2RvbmcgV2FuZyA8Ym9kb25nQG1lbGxhbm94LmNvbT4N ClNpZ25lZC1vZmYtYnk6IFNhZWVkIE1haGFtZWVkIDxzYWVlZG1AbWVsbGFub3guY29tPg0KLS0t DQogLi4uL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5jIHwgMTIgKy0t DQogLi4uL21lbGxhbm94L21seDUvY29yZS9lc3dpdGNoX29mZmxvYWRzLmMgICAgIHwgODkgKysr KysrKysrKy0tLS0tLS0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNTAgaW5zZXJ0aW9ucygrKSwgNTEg ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5v eC9tbHg1L2NvcmUvZXN3aXRjaC5jIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4 NS9jb3JlL2Vzd2l0Y2guYw0KaW5kZXggZDg5MzUyMzI5NjRhLi41MDRjMDQ0MGIwYjAgMTAwNjQ0 DQotLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5j DQorKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9tZWxsYW5veC9tbHg1L2NvcmUvZXN3aXRjaC5j DQpAQCAtMTcyMCw3ICsxNzIwLDYgQEAgaW50IG1seDVfZXN3aXRjaF9lbmFibGVfc3Jpb3Yoc3Ry dWN0IG1seDVfZXN3aXRjaCAqZXN3LCBpbnQgbnZmcywgaW50IG1vZGUpDQogew0KIAlzdHJ1Y3Qg bWx4NV92cG9ydCAqdnBvcnQ7DQogCWludCB0b3RhbF9udnBvcnRzID0gMDsNCi0JdTE2IHZmX252 cG9ydHMgPSAwOw0KIAlpbnQgZXJyOw0KIAlpbnQgaSwgZW5hYmxlZF9ldmVudHM7DQogDQpAQCAt MTczOSwxNSArMTczOCwxMCBAQCBpbnQgbWx4NV9lc3dpdGNoX2VuYWJsZV9zcmlvdihzdHJ1Y3Qg bWx4NV9lc3dpdGNoICplc3csIGludCBudmZzLCBpbnQgbW9kZSkNCiAJZXN3X2luZm8oZXN3LT5k ZXYsICJFLVN3aXRjaCBlbmFibGUgU1JJT1Y6IG52ZnMoJWQpIG1vZGUgKCVkKVxuIiwgbnZmcywg bW9kZSk7DQogDQogCWlmIChtb2RlID09IFNSSU9WX09GRkxPQURTKSB7DQotCQlpZiAobWx4NV9j b3JlX2lzX2VjcGZfZXN3X21hbmFnZXIoZXN3LT5kZXYpKSB7DQotCQkJZXJyID0gbWx4NV9lc3df cXVlcnlfZnVuY3Rpb25zKGVzdy0+ZGV2LCAmdmZfbnZwb3J0cyk7DQotCQkJaWYgKGVycikNCi0J CQkJcmV0dXJuIGVycjsNCisJCWlmIChtbHg1X2NvcmVfaXNfZWNwZl9lc3dfbWFuYWdlcihlc3ct PmRldikpDQogCQkJdG90YWxfbnZwb3J0cyA9IGVzdy0+dG90YWxfdnBvcnRzOw0KLQkJfSBlbHNl IHsNCi0JCQl2Zl9udnBvcnRzID0gbnZmczsNCisJCWVsc2UNCiAJCQl0b3RhbF9udnBvcnRzID0g bnZmcyArIE1MWDVfU1BFQ0lBTF9WUE9SVFMoZXN3LT5kZXYpOw0KLQkJfQ0KIAl9DQogDQogCWVz dy0+bW9kZSA9IG1vZGU7DQpAQCAtMTc2MSw3ICsxNzU1LDcgQEAgaW50IG1seDVfZXN3aXRjaF9l bmFibGVfc3Jpb3Yoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LCBpbnQgbnZmcywgaW50IG1vZGUp DQogCX0gZWxzZSB7DQogCQltbHg1X3JlbG9hZF9pbnRlcmZhY2UoZXN3LT5kZXYsIE1MWDVfSU5U RVJGQUNFX1BST1RPQ09MX0VUSCk7DQogCQltbHg1X3JlbG9hZF9pbnRlcmZhY2UoZXN3LT5kZXYs IE1MWDVfSU5URVJGQUNFX1BST1RPQ09MX0lCKTsNCi0JCWVyciA9IGVzd19vZmZsb2Fkc19pbml0 KGVzdywgdmZfbnZwb3J0cywgdG90YWxfbnZwb3J0cyk7DQorCQllcnIgPSBlc3dfb2ZmbG9hZHNf aW5pdChlc3csIG52ZnMsIHRvdGFsX252cG9ydHMpOw0KIAl9DQogDQogCWlmIChlcnIpDQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hf b2ZmbG9hZHMuYyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L21lbGxhbm94L21seDUvY29yZS9lc3dp dGNoX29mZmxvYWRzLmMNCmluZGV4IGQ2MjQ2ZWUwNDJmYS4uZjg0M2Q4YTM1YTJjIDEwMDY0NA0K LS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vzd2l0Y2hfb2Zm bG9hZHMuYw0KKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvbWVsbGFub3gvbWx4NS9jb3JlL2Vz d2l0Y2hfb2ZmbG9hZHMuYw0KQEAgLTE0MzYsMzQgKzE0MzYsMTMgQEAgc3RhdGljIGludCBlc3df b2ZmbG9hZHNfbG9hZF92Zl9yZXBzKHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IG52cG9y dHMpDQogCXJldHVybiBlcnI7DQogfQ0KIA0KLXN0YXRpYyBpbnQgX19sb2FkX3JlcHNfYWxsX3Zw b3J0KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IG52cG9ydHMsDQotCQkJCSB1OCByZXBf dHlwZSkNCi17DQotCWludCBlcnI7DQotDQotCS8qIFNwZWNpYWwgdnBvcnRzIG11c3QgYmUgbG9h ZGVkIGZpcnN0LiAqLw0KLQllcnIgPSBfX2xvYWRfcmVwc19zcGVjaWFsX3Zwb3J0KGVzdywgcmVw X3R5cGUpOw0KLQlpZiAoZXJyKQ0KLQkJcmV0dXJuIGVycjsNCi0NCi0JZXJyID0gX19sb2FkX3Jl cHNfdmZfdnBvcnQoZXN3LCBudnBvcnRzLCByZXBfdHlwZSk7DQotCWlmIChlcnIpDQotCQlnb3Rv IGVycl92ZnM7DQotDQotCXJldHVybiAwOw0KLQ0KLWVycl92ZnM6DQotCV9fdW5sb2FkX3JlcHNf c3BlY2lhbF92cG9ydChlc3csIHJlcF90eXBlKTsNCi0JcmV0dXJuIGVycjsNCi19DQotDQotc3Rh dGljIGludCBlc3dfb2ZmbG9hZHNfbG9hZF9hbGxfcmVwcyhzdHJ1Y3QgbWx4NV9lc3dpdGNoICpl c3csIGludCBudnBvcnRzKQ0KK3N0YXRpYyBpbnQgZXN3X29mZmxvYWRzX2xvYWRfc3BlY2lhbF92 cG9ydChzdHJ1Y3QgbWx4NV9lc3dpdGNoICplc3cpDQogew0KIAl1OCByZXBfdHlwZSA9IDA7DQog CWludCBlcnI7DQogDQogCWZvciAocmVwX3R5cGUgPSAwOyByZXBfdHlwZSA8IE5VTV9SRVBfVFlQ RVM7IHJlcF90eXBlKyspIHsNCi0JCWVyciA9IF9fbG9hZF9yZXBzX2FsbF92cG9ydChlc3csIG52 cG9ydHMsIHJlcF90eXBlKTsNCisJCWVyciA9IF9fbG9hZF9yZXBzX3NwZWNpYWxfdnBvcnQoZXN3 LCByZXBfdHlwZSk7DQogCQlpZiAoZXJyKQ0KIAkJCWdvdG8gZXJyX3JlcHM7DQogCX0NCkBAIC0x NDcyLDcgKzE0NTEsNyBAQCBzdGF0aWMgaW50IGVzd19vZmZsb2Fkc19sb2FkX2FsbF9yZXBzKHN0 cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywgaW50IG52cG9ydHMpDQogDQogZXJyX3JlcHM6DQogCXdo aWxlIChyZXBfdHlwZS0tID4gMCkNCi0JCV9fdW5sb2FkX3JlcHNfYWxsX3Zwb3J0KGVzdywgbnZw b3J0cywgcmVwX3R5cGUpOw0KKwkJX191bmxvYWRfcmVwc19zcGVjaWFsX3Zwb3J0KGVzdywgcmVw X3R5cGUpOw0KIAlyZXR1cm4gZXJyOw0KIH0NCiANCkBAIC0xODExLDYgKzE3OTAsMjEgQEAgc3Rh dGljIHZvaWQgZXN3X2Z1bmN0aW9uc19jaGFuZ2VkX2V2ZW50X2hhbmRsZXIoc3RydWN0IHdvcmtf c3RydWN0ICp3b3JrKQ0KIAlrZnJlZShob3N0X3dvcmspOw0KIH0NCiANCitzdGF0aWMgdm9pZCBl c3dfZW11bGF0ZV9ldmVudF9oYW5kbGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykNCit7DQor CXN0cnVjdCBtbHg1X2hvc3Rfd29yayAqaG9zdF93b3JrID0NCisJCWNvbnRhaW5lcl9vZih3b3Jr LCBzdHJ1Y3QgbWx4NV9ob3N0X3dvcmssIHdvcmspOw0KKwlzdHJ1Y3QgbWx4NV9lc3dpdGNoICpl c3cgPSBob3N0X3dvcmstPmVzdzsNCisJaW50IGVycjsNCisNCisJaWYgKGVzdy0+ZXN3X2Z1bmNz Lm51bV92ZnMpIHsNCisJCWVyciA9IGVzd19vZmZsb2Fkc19sb2FkX3ZmX3JlcHMoZXN3LCBlc3ct PmVzd19mdW5jcy5udW1fdmZzKTsNCisJCWlmIChlcnIpDQorCQkJZXN3X3dhcm4oZXN3LT5kZXYs ICJMb2FkIHZmIHJlcHMgZXJyPSVkXG4iLCBlcnIpOw0KKwl9DQorCWtmcmVlKGhvc3Rfd29yayk7 DQorfQ0KKw0KIHN0YXRpYyBpbnQgZXN3X2Z1bmN0aW9uc19jaGFuZ2VkX2V2ZW50KHN0cnVjdCBu b3RpZmllcl9ibG9jayAqbmIsDQogCQkJCSAgICAgICB1bnNpZ25lZCBsb25nIHR5cGUsIHZvaWQg KmRhdGEpDQogew0KQEAgLTE4MjcsNyArMTgyMSwxMSBAQCBzdGF0aWMgaW50IGVzd19mdW5jdGlv bnNfY2hhbmdlZF9ldmVudChzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLA0KIA0KIAlob3N0X3dv cmstPmVzdyA9IGVzdzsNCiANCi0JSU5JVF9XT1JLKCZob3N0X3dvcmstPndvcmssIGVzd19mdW5j dGlvbnNfY2hhbmdlZF9ldmVudF9oYW5kbGVyKTsNCisJaWYgKG1seDVfZXN3aXRjaF9pc19mdW5j c19oYW5kbGVyKGVzdy0+ZGV2KSkNCisJCUlOSVRfV09SSygmaG9zdF93b3JrLT53b3JrLA0KKwkJ CSAgZXN3X2Z1bmN0aW9uc19jaGFuZ2VkX2V2ZW50X2hhbmRsZXIpOw0KKwllbHNlDQorCQlJTklU X1dPUksoJmhvc3Rfd29yay0+d29yaywgZXN3X2VtdWxhdGVfZXZlbnRfaGFuZGxlcik7DQogCXF1 ZXVlX3dvcmsoZXN3LT53b3JrX3F1ZXVlLCAmaG9zdF93b3JrLT53b3JrKTsNCiANCiAJcmV0dXJu IE5PVElGWV9PSzsNCkBAIC0xODM2LDEzICsxODM0LDE0IEBAIHN0YXRpYyBpbnQgZXN3X2Z1bmN0 aW9uc19jaGFuZ2VkX2V2ZW50KHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsDQogc3RhdGljIHZv aWQgZXN3X2Z1bmN0aW9uc19jaGFuZ2VkX2V2ZW50X2luaXQoc3RydWN0IG1seDVfZXN3aXRjaCAq ZXN3LA0KIAkJCQkJICAgICB1MTYgdmZfbnZwb3J0cykNCiB7DQotCWlmICghbWx4NV9lc3dpdGNo X2lzX2Z1bmNzX2hhbmRsZXIoZXN3LT5kZXYpKQ0KLQkJcmV0dXJuOw0KLQ0KLQlNTFg1X05CX0lO SVQoJmVzdy0+ZXN3X2Z1bmNzLm5iLCBlc3dfZnVuY3Rpb25zX2NoYW5nZWRfZXZlbnQsDQotCQkg ICAgIEVTV19GVU5DVElPTlNfQ0hBTkdFRCk7DQotCW1seDVfZXFfbm90aWZpZXJfcmVnaXN0ZXIo ZXN3LT5kZXYsICZlc3ctPmVzd19mdW5jcy5uYik7DQotCWVzdy0+ZXN3X2Z1bmNzLm51bV92ZnMg PSB2Zl9udnBvcnRzOw0KKwlpZiAobWx4NV9lc3dpdGNoX2lzX2Z1bmNzX2hhbmRsZXIoZXN3LT5k ZXYpKSB7DQorCQllc3ctPmVzd19mdW5jcy5udW1fdmZzID0gMDsNCisJCU1MWDVfTkJfSU5JVCgm ZXN3LT5lc3dfZnVuY3MubmIsIGVzd19mdW5jdGlvbnNfY2hhbmdlZF9ldmVudCwNCisJCQkgICAg IEVTV19GVU5DVElPTlNfQ0hBTkdFRCk7DQorCQltbHg1X2VxX25vdGlmaWVyX3JlZ2lzdGVyKGVz dy0+ZGV2LCAmZXN3LT5lc3dfZnVuY3MubmIpOw0KKwl9IGVsc2Ugew0KKwkJZXN3LT5lc3dfZnVu Y3MubnVtX3ZmcyA9IHZmX252cG9ydHM7DQorCX0NCiB9DQogDQogc3RhdGljIHZvaWQgZXN3X2Z1 bmN0aW9uc19jaGFuZ2VkX2V2ZW50X2NsZWFudXAoc3RydWN0IG1seDVfZXN3aXRjaCAqZXN3KQ0K QEAgLTE4NjMsNyArMTg2MiwxMSBAQCBpbnQgZXN3X29mZmxvYWRzX2luaXQoc3RydWN0IG1seDVf ZXN3aXRjaCAqZXN3LCBpbnQgdmZfbnZwb3J0cywNCiAJaWYgKGVycikNCiAJCXJldHVybiBlcnI7 DQogDQotCWVyciA9IGVzd19vZmZsb2Fkc19sb2FkX2FsbF9yZXBzKGVzdywgdmZfbnZwb3J0cyk7 DQorCS8qIE9ubHkgbG9hZCBzcGVjaWFsIHZwb3J0cyByZXBzLiBWRiByZXBzIHdpbGwgYmUgbG9h ZGVkIGluDQorCSAqIGNvbnRleHQgb2YgZnVuY3Rpb25zX2NoYW5nZWQgZXZlbnQgaGFuZGxlciB0 aHJvdWdoIHJlYWwNCisJICogb3IgZW11bGF0ZWQgZXZlbnQuDQorCSAqLw0KKwllcnIgPSBlc3df b2ZmbG9hZHNfbG9hZF9zcGVjaWFsX3Zwb3J0KGVzdyk7DQogCWlmIChlcnIpDQogCQlnb3RvIGVy cl9yZXBzOw0KIA0KQEAgLTE4NzMsNiArMTg3NiwxNiBAQCBpbnQgZXN3X29mZmxvYWRzX2luaXQo c3RydWN0IG1seDVfZXN3aXRjaCAqZXN3LCBpbnQgdmZfbnZwb3J0cywNCiANCiAJbWx4NV9yZG1h X2VuYWJsZV9yb2NlKGVzdy0+ZGV2KTsNCiANCisJLyogQ2FsbCBlc3dfZnVuY3Rpb25zX2NoYW5n ZWQgZXZlbnQgdG8gbG9hZCBWRiByZXBzOg0KKwkgKiAxLiBIVyBkb2VzIG5vdCBzdXBwb3J0IHRo ZSBldmVudCB0aGVuIGVtdWxhdGUgaXQNCisJICogT3INCisJICogMi4gVGhlIGV2ZW50IHdhcyBh bHJlYWR5IG5vdGlmaWVkIHdoZW4gbnVtX3ZmcyBjaGFuZ2VkDQorCSAqIGFuZCBlc3dpdGNoIHdh cyBpbiBsZWdhY3kgbW9kZQ0KKwkgKi8NCisJZXN3X2Z1bmN0aW9uc19jaGFuZ2VkX2V2ZW50KCZl c3ctPmVzd19mdW5jcy5uYi5uYiwNCisJCQkJICAgIE1MWDVfRVZFTlRfVFlQRV9FU1dfRlVOQ1RJ T05TX0NIQU5HRUQsDQorCQkJCSAgICBOVUxMKTsNCisNCiAJcmV0dXJuIDA7DQogDQogZXJyX3Jl cHM6DQpAQCAtMTkwMSwxOCArMTkxNCwxMCBAQCBzdGF0aWMgaW50IGVzd19vZmZsb2Fkc19zdG9w KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdywNCiANCiB2b2lkIGVzd19vZmZsb2Fkc19jbGVhbnVw KHN0cnVjdCBtbHg1X2Vzd2l0Y2ggKmVzdykNCiB7DQotCXUxNiBudW1fdmZzOw0KLQ0KIAllc3df ZnVuY3Rpb25zX2NoYW5nZWRfZXZlbnRfY2xlYW51cChlc3cpOw0KLQ0KLQlpZiAobWx4NV9lc3dp dGNoX2lzX2Z1bmNzX2hhbmRsZXIoZXN3LT5kZXYpKQ0KLQkJbnVtX3ZmcyA9IGVzdy0+ZXN3X2Z1 bmNzLm51bV92ZnM7DQotCWVsc2UNCi0JCW51bV92ZnMgPSBlc3ctPmRldi0+cHJpdi5zcmlvdi5u dW1fdmZzOw0KLQ0KIAltbHg1X3JkbWFfZGlzYWJsZV9yb2NlKGVzdy0+ZGV2KTsNCiAJZXN3X29m ZmxvYWRzX2RldmNvbV9jbGVhbnVwKGVzdyk7DQotCWVzd19vZmZsb2Fkc191bmxvYWRfYWxsX3Jl cHMoZXN3LCBudW1fdmZzKTsNCisJZXN3X29mZmxvYWRzX3VubG9hZF9hbGxfcmVwcyhlc3csIGVz dy0+ZXN3X2Z1bmNzLm51bV92ZnMpOw0KIAllc3dfb2ZmbG9hZHNfc3RlZXJpbmdfY2xlYW51cChl c3cpOw0KIH0NCiANCi0tIA0KMi4yMS4wDQoNCg==