From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 129453977 for ; Thu, 14 Apr 2016 15:28:51 +0200 (CEST) Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by fmsmga101.fm.intel.com with ESMTP; 14 Apr 2016 06:28:50 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.24,484,1455004800"; d="scan'208";a="945123896" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by fmsmga001.fm.intel.com with ESMTP; 14 Apr 2016 06:28:51 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Thu, 14 Apr 2016 06:28:50 -0700 Received: from fmsmsx113.amr.corp.intel.com ([169.254.13.211]) by fmsmsx111.amr.corp.intel.com ([10.18.116.5]) with mapi id 14.03.0248.002; Thu, 14 Apr 2016 06:28:49 -0700 From: "Wiles, Keith" To: Olivier Matz , "dev@dpdk.org" CC: "thomas.monjalon@6wind.com" , "pmatilai@redhat.com" Thread-Topic: [PATCH v5] mempool: reduce rte_mempool structure size Thread-Index: AQHRljIjyxHyJtecZE+xyCVxkL7MDp+JmEiA Date: Thu, 14 Apr 2016 13:28:48 +0000 Message-ID: References: <1455302184-48822-1-git-send-email-keith.wiles@intel.com> <1460626956-12038-1-git-send-email-olivier.matz@6wind.com> In-Reply-To: <1460626956-12038-1-git-send-email-olivier.matz@6wind.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.81.124] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v5] mempool: reduce rte_mempool structure size X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Apr 2016 13:28:53 -0000 PkZyb206IEtlaXRoIFdpbGVzIDxrZWl0aC53aWxlc0BpbnRlbC5jb20+DQo+DQo+VGhlIHJ0ZV9t ZW1wb29sIHN0cnVjdHVyZSBpcyBjaGFuZ2VkLCB3aGljaCB3aWxsIGNhdXNlIGFuIEFCSSBjaGFu Z2UNCj5mb3IgdGhpcyBzdHJ1Y3R1cmUuIFByb3ZpZGluZyBiYWNrd2FyZCBjb21wYXQgaXMgbm90 IHJlYXNvbmFibGUNCj5oZXJlIGFzIHRoaXMgc3RydWN0dXJlIGlzIHVzZWQgaW4gbXVsdGlwbGUg ZGVmaW5lcy9pbmxpbmVzLg0KPg0KPkFsbG93IG1lbXBvb2wgY2FjaGUgc3VwcG9ydCB0byBiZSBk eW5hbWljIGRlcGVuZGluZyBvbiBpZiB0aGUNCj5tZW1wb29sIGJlaW5nIGNyZWF0ZWQgbmVlZHMg Y2FjaGUgc3VwcG9ydC4gU2F2ZXMgYWJvdXQgMS41TSBvZg0KPm1lbW9yeSB1c2VkIGJ5IHRoZSBy dGVfbWVtcG9vbCBzdHJ1Y3R1cmUuDQo+DQo+QWxsb2NhdGluZyBzbWFsbCBtZW1wb29scyB3aGlj aCBkbyBub3QgcmVxdWlyZSBjYWNoZSBjYW4gY29uc3VtZQ0KPmxhcmdlcyBhbW91bnRzIG9mIG1l bW9yeSBpZiB5b3UgaGF2ZSBhIG51bWJlciBvZiB0aGVzZSBtZW1wb29scy4NCj4NCj5DaGFuZ2Ug dG8gYmUgZWZmZWN0aXZlIGluIHJlbGVhc2UgMTYuMDcuDQo+DQo+U2lnbmVkLW9mZi1ieTogS2Vp dGggV2lsZXMgPGtlaXRoLndpbGVzQGludGVsLmNvbT4NCj5BY2tlZC1ieTogT2xpdmllciBNYXR6 IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPi0tLQ0KPg0KPkNoYW5nZXMgaW4gdjU6DQo+DQo+ LSB1c2UgUlRFX1BUUl9BREQoKSBpbnN0ZWFkIG9mIGNhc3QgdG8gKGNoYXIgKikgdG8gZml4IGNv bXBpbGF0aW9uIG9uIHRpbGVyYS4NCj4gIEVycm9yIGxvZyB3YXM6DQo+DQo+ICBydGVfbWVtcG9v bC5jOiBJbiBmdW5jdGlvbiDigJhydGVfbWVtcG9vbF94bWVtX2NyZWF0ZeKAmToNCj4gIHJ0ZV9t ZW1wb29sLmM6NTk1OiBlcnJvcjogY2FzdCBpbmNyZWFzZXMgcmVxdWlyZWQgYWxpZ25tZW50IG9m IHRhcmdldCB0eXBlDQo+DQo+DQo+IGFwcC90ZXN0L3Rlc3RfbWVtcG9vbC5jICAgICAgICAgIHwg IDQgKy0tDQo+IGxpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5jIHwgNTUgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBsaWIvbGlicnRlX21lbXBvb2wvcnRl X21lbXBvb2wuaCB8IDI5ICsrKysrKysrKystLS0tLS0tLS0tLQ0KPiAzIGZpbGVzIGNoYW5nZWQs IDQwIGluc2VydGlvbnMoKyksIDQ4IGRlbGV0aW9ucygtKQ0KPg0KPmRpZmYgLS1naXQgYS9hcHAv dGVzdC90ZXN0X21lbXBvb2wuYyBiL2FwcC90ZXN0L3Rlc3RfbWVtcG9vbC5jDQo+aW5kZXggZjBm ODIzYi4uMTBlMWZhNCAxMDA2NDQNCj4tLS0gYS9hcHAvdGVzdC90ZXN0X21lbXBvb2wuYw0KPisr KyBiL2FwcC90ZXN0L3Rlc3RfbWVtcG9vbC5jDQo+QEAgLTEyMiw4ICsxMjIsOCBAQCB0ZXN0X21l bXBvb2xfYmFzaWModm9pZCkNCj4gCQlyZXR1cm4gLTE7DQo+IA0KPiAJcHJpbnRmKCJnZXQgcHJp dmF0ZSBkYXRhXG4iKTsNCj4tCWlmIChydGVfbWVtcG9vbF9nZXRfcHJpdihtcCkgIT0NCj4tCQkJ KGNoYXIqKSBtcCArIE1FTVBPT0xfSEVBREVSX1NJWkUobXAsIG1wLT5wZ19udW0pKQ0KPisJaWYg KHJ0ZV9tZW1wb29sX2dldF9wcml2KG1wKSAhPSAoY2hhciAqKW1wICsNCj4rCQkJTUVNUE9PTF9I RUFERVJfU0laRShtcCwgbXAtPnBnX251bSwgbXAtPmNhY2hlX3NpemUpKQ0KDQpTaG91bGQgd2Ug bm90IGFkZCB0aGUgUlRFX1BUUl9BREQoKSBoZXJlIGFzIHdlbGw/DQoNCj4gCQlyZXR1cm4gLTE7 DQo+IA0KPiAJcHJpbnRmKCJnZXQgcGh5c2ljYWwgYWRkcmVzcyBvZiBhbiBvYmplY3RcbiIpOw0K PmRpZmYgLS1naXQgYS9saWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2wuYyBiL2xpYi9saWJy dGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5jDQo+aW5kZXggZjg3ODFlMS4uN2EwZTA3ZSAxMDA2NDQN Cj4tLS0gYS9saWIvbGlicnRlX21lbXBvb2wvcnRlX21lbXBvb2wuYw0KPisrKyBiL2xpYi9saWJy dGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5jDQo+QEAgLTQ1MiwxMiArNDUyLDggQEAgcnRlX21lbXBv b2xfeG1lbV9jcmVhdGUoY29uc3QgY2hhciAqbmFtZSwgdW5zaWduZWQgbiwgdW5zaWduZWQgZWx0 X3NpemUsDQo+IAkvKiBjb21waWxhdGlvbi10aW1lIGNoZWNrcyAqLw0KPiAJUlRFX0JVSUxEX0JV R19PTigoc2l6ZW9mKHN0cnVjdCBydGVfbWVtcG9vbCkgJg0KPiAJCQkgIFJURV9DQUNIRV9MSU5F X01BU0spICE9IDApOw0KPi0jaWYgUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgPiAwDQo+IAlS VEVfQlVJTERfQlVHX09OKChzaXplb2Yoc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlKSAmDQo+IAkJ CSAgUlRFX0NBQ0hFX0xJTkVfTUFTSykgIT0gMCk7DQo+LQlSVEVfQlVJTERfQlVHX09OKChvZmZz ZXRvZihzdHJ1Y3QgcnRlX21lbXBvb2wsIGxvY2FsX2NhY2hlKSAmDQo+LQkJCSAgUlRFX0NBQ0hF X0xJTkVfTUFTSykgIT0gMCk7DQo+LSNlbmRpZg0KPiAjaWZkZWYgUlRFX0xJQlJURV9NRU1QT09M X0RFQlVHDQo+IAlSVEVfQlVJTERfQlVHX09OKChzaXplb2Yoc3RydWN0IHJ0ZV9tZW1wb29sX2Rl YnVnX3N0YXRzKSAmDQo+IAkJCSAgUlRFX0NBQ0hFX0xJTkVfTUFTSykgIT0gMCk7DQo+QEAgLTUy Nyw5ICs1MjMsOCBAQCBydGVfbWVtcG9vbF94bWVtX2NyZWF0ZShjb25zdCBjaGFyICpuYW1lLCB1 bnNpZ25lZCBuLCB1bnNpZ25lZCBlbHRfc2l6ZSwNCj4gCQkgKi8NCj4gCQlpbnQgaGVhZCA9IHNp emVvZihzdHJ1Y3QgcnRlX21lbXBvb2wpOw0KPiAJCWludCBuZXdfc2l6ZSA9IChwcml2YXRlX2Rh dGFfc2l6ZSArIGhlYWQpICUgcGFnZV9zaXplOw0KPi0JCWlmIChuZXdfc2l6ZSkgew0KPisJCWlm IChuZXdfc2l6ZSkNCj4gCQkJcHJpdmF0ZV9kYXRhX3NpemUgKz0gcGFnZV9zaXplIC0gbmV3X3Np emU7DQo+LQkJfQ0KPiAJfQ0KPiANCj4gCS8qIHRyeSB0byBhbGxvY2F0ZSB0YWlscSBlbnRyeSAq Lw0KPkBAIC01NDQsNyArNTM5LDggQEAgcnRlX21lbXBvb2xfeG1lbV9jcmVhdGUoY29uc3QgY2hh ciAqbmFtZSwgdW5zaWduZWQgbiwgdW5zaWduZWQgZWx0X3NpemUsDQo+IAkgKiBzdG9yZSBtZW1w b29sIG9iamVjdHMuIE90aGVyd2lzZSByZXNlcnZlIGEgbWVtem9uZSB0aGF0IGlzIGxhcmdlDQo+ IAkgKiBlbm91Z2ggdG8gaG9sZCBtZW1wb29sIGhlYWRlciBhbmQgbWV0YWRhdGEgcGx1cyBtZW1w b29sIG9iamVjdHMuDQo+IAkgKi8NCj4tCW1lbXBvb2xfc2l6ZSA9IE1FTVBPT0xfSEVBREVSX1NJ WkUobXAsIHBnX251bSkgKyBwcml2YXRlX2RhdGFfc2l6ZTsNCj4rCW1lbXBvb2xfc2l6ZSA9IE1F TVBPT0xfSEVBREVSX1NJWkUobXAsIHBnX251bSwgY2FjaGVfc2l6ZSk7DQo+KwltZW1wb29sX3Np emUgKz0gcHJpdmF0ZV9kYXRhX3NpemU7DQo+IAltZW1wb29sX3NpemUgPSBSVEVfQUxJR05fQ0VJ TChtZW1wb29sX3NpemUsIFJURV9NRU1QT09MX0FMSUdOKTsNCj4gCWlmICh2YWRkciA9PSBOVUxM KQ0KPiAJCW1lbXBvb2xfc2l6ZSArPSAoc2l6ZV90KW9ianN6LnRvdGFsX3NpemUgKiBuOw0KPkBA IC01OTEsOCArNTg3LDE1IEBAIHJ0ZV9tZW1wb29sX3htZW1fY3JlYXRlKGNvbnN0IGNoYXIgKm5h bWUsIHVuc2lnbmVkIG4sIHVuc2lnbmVkIGVsdF9zaXplLA0KPiAJbXAtPmNhY2hlX2ZsdXNodGhy ZXNoID0gQ0FMQ19DQUNIRV9GTFVTSFRIUkVTSChjYWNoZV9zaXplKTsNCj4gCW1wLT5wcml2YXRl X2RhdGFfc2l6ZSA9IHByaXZhdGVfZGF0YV9zaXplOw0KPiANCj4rCS8qDQo+KwkgKiBsb2NhbF9j YWNoZSBwb2ludGVyIGlzIHNldCBldmVuIGlmIGNhY2hlX3NpemUgaXMgemVyby4NCj4rCSAqIFRo ZSBsb2NhbF9jYWNoZSBwb2ludHMgdG8ganVzdCBwYXN0IHRoZSBlbHRfcGFbXSBhcnJheS4NCj4r CSAqLw0KPisJbXAtPmxvY2FsX2NhY2hlID0gKHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqKQ0K PisJCVJURV9QVFJfQUREKG1wLCBNRU1QT09MX0hFQURFUl9TSVpFKG1wLCBwZ19udW0sIDApKTsN Cj4rDQo+IAkvKiBjYWxjdWxhdGUgYWRkcmVzcyBvZiB0aGUgZmlyc3QgZWxlbWVudCBmb3IgY29u dGludW91cyBtZW1wb29sLiAqLw0KPi0Jb2JqID0gKGNoYXIgKiltcCArIE1FTVBPT0xfSEVBREVS X1NJWkUobXAsIHBnX251bSkgKw0KPisJb2JqID0gKGNoYXIgKiltcCArIE1FTVBPT0xfSEVBREVS X1NJWkUobXAsIHBnX251bSwgY2FjaGVfc2l6ZSkgKw0KPiAJCXByaXZhdGVfZGF0YV9zaXplOw0K PiAJb2JqID0gUlRFX1BUUl9BTElHTl9DRUlMKG9iaiwgUlRFX01FTVBPT0xfQUxJR04pOw0KPiAN Cj5AQCAtNjA2LDkgKzYwOSw4IEBAIHJ0ZV9tZW1wb29sX3htZW1fY3JlYXRlKGNvbnN0IGNoYXIg Km5hbWUsIHVuc2lnbmVkIG4sIHVuc2lnbmVkIGVsdF9zaXplLA0KPiAJCW1wLT5lbHRfdmFfc3Rh cnQgPSAodWludHB0cl90KW9iajsNCj4gCQltcC0+ZWx0X3BhWzBdID0gbXAtPnBoeXNfYWRkciAr DQo+IAkJCShtcC0+ZWx0X3ZhX3N0YXJ0IC0gKHVpbnRwdHJfdCltcCk7DQo+LQ0KPi0JLyogbWVt cG9vbCBlbGVtZW50cyBpbiBhIHNlcGFyYXRlIGNodW5rIG9mIG1lbW9yeS4gKi8NCj4gCX0gZWxz ZSB7DQo+KwkJLyogbWVtcG9vbCBlbGVtZW50cyBpbiBhIHNlcGFyYXRlIGNodW5rIG9mIG1lbW9y eS4gKi8NCj4gCQltcC0+ZWx0X3ZhX3N0YXJ0ID0gKHVpbnRwdHJfdCl2YWRkcjsNCj4gCQltZW1j cHkobXAtPmVsdF9wYSwgcGFkZHIsIHNpemVvZiAobXAtPmVsdF9wYVswXSkgKiBwZ19udW0pOw0K PiAJfQ0KPkBAIC02NDMsMTkgKzY0NSwxNSBAQCB1bnNpZ25lZA0KPiBydGVfbWVtcG9vbF9jb3Vu dChjb25zdCBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wKQ0KPiB7DQo+IAl1bnNpZ25lZCBjb3VudDsN Cj4rCXVuc2lnbmVkIGxjb3JlX2lkOw0KPiANCj4gCWNvdW50ID0gcnRlX3JpbmdfY291bnQobXAt PnJpbmcpOw0KPiANCj4tI2lmIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4gMA0KPi0Jew0K Pi0JCXVuc2lnbmVkIGxjb3JlX2lkOw0KPi0JCWlmIChtcC0+Y2FjaGVfc2l6ZSA9PSAwKQ0KPi0J CQlyZXR1cm4gY291bnQ7DQo+KwlpZiAobXAtPmNhY2hlX3NpemUgPT0gMCkNCj4rCQlyZXR1cm4g Y291bnQ7DQo+IA0KPi0JCWZvciAobGNvcmVfaWQgPSAwOyBsY29yZV9pZCA8IFJURV9NQVhfTENP UkU7IGxjb3JlX2lkKyspDQo+LQkJCWNvdW50ICs9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0u bGVuOw0KPi0JfQ0KPi0jZW5kaWYNCj4rCWZvciAobGNvcmVfaWQgPSAwOyBsY29yZV9pZCA8IFJU RV9NQVhfTENPUkU7IGxjb3JlX2lkKyspDQo+KwkJY291bnQgKz0gbXAtPmxvY2FsX2NhY2hlW2xj b3JlX2lkXS5sZW47DQo+IA0KPiAJLyoNCj4gCSAqIGR1ZSB0byByYWNlIGNvbmRpdGlvbiAoYWNj ZXNzIHRvIGxlbiBpcyBub3QgbG9ja2VkKSwgdGhlDQo+QEAgLTY3MCwxMyArNjY4LDE2IEBAIHJ0 ZV9tZW1wb29sX2NvdW50KGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+IHN0YXRpYyB1 bnNpZ25lZA0KPiBydGVfbWVtcG9vbF9kdW1wX2NhY2hlKEZJTEUgKmYsIGNvbnN0IHN0cnVjdCBy dGVfbWVtcG9vbCAqbXApDQo+IHsNCj4tI2lmIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4g MA0KPiAJdW5zaWduZWQgbGNvcmVfaWQ7DQo+IAl1bnNpZ25lZCBjb3VudCA9IDA7DQo+IAl1bnNp Z25lZCBjYWNoZV9jb3VudDsNCj4gDQo+IAlmcHJpbnRmKGYsICIgIGNhY2hlIGluZm9zOlxuIik7 DQo+IAlmcHJpbnRmKGYsICIgICAgY2FjaGVfc2l6ZT0lIlBSSXUzMiJcbiIsIG1wLT5jYWNoZV9z aXplKTsNCj4rDQo+KwlpZiAobXAtPmNhY2hlX3NpemUgPT0gMCkNCj4rCQlyZXR1cm4gY291bnQ7 DQo+Kw0KPiAJZm9yIChsY29yZV9pZCA9IDA7IGxjb3JlX2lkIDwgUlRFX01BWF9MQ09SRTsgbGNv cmVfaWQrKykgew0KPiAJCWNhY2hlX2NvdW50ID0gbXAtPmxvY2FsX2NhY2hlW2xjb3JlX2lkXS5s ZW47DQo+IAkJZnByaW50ZihmLCAiICAgIGNhY2hlX2NvdW50WyV1XT0ldVxuIiwgbGNvcmVfaWQs IGNhY2hlX2NvdW50KTsNCj5AQCAtNjg0LDExICs2ODUsNiBAQCBydGVfbWVtcG9vbF9kdW1wX2Nh Y2hlKEZJTEUgKmYsIGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+IAl9DQo+IAlmcHJp bnRmKGYsICIgICAgdG90YWxfY2FjaGVfY291bnQ9JXVcbiIsIGNvdW50KTsNCj4gCXJldHVybiBj b3VudDsNCj4tI2Vsc2UNCj4tCVJURV9TRVRfVVNFRChtcCk7DQo+LQlmcHJpbnRmKGYsICIgIGNh Y2hlIGRpc2FibGVkXG4iKTsNCj4tCXJldHVybiAwOw0KPi0jZW5kaWYNCj4gfQ0KPiANCj4gI2lm ZGVmIFJURV9MSUJSVEVfTUVNUE9PTF9ERUJVRw0KPkBAIC03NTMsMTMgKzc0OSwxNiBAQCBtZW1w b29sX2F1ZGl0X2Nvb2tpZXMoY29uc3Qgc3RydWN0IHJ0ZV9tZW1wb29sICptcCkNCj4gI2RlZmlu ZSBtZW1wb29sX2F1ZGl0X2Nvb2tpZXMobXApIGRvIHt9IHdoaWxlKDApDQo+ICNlbmRpZg0KPiAN Cj4tI2lmIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4gMA0KPiAvKiBjaGVjayBjb29raWVz IGJlZm9yZSBhbmQgYWZ0ZXIgb2JqZWN0cyAqLw0KPiBzdGF0aWMgdm9pZA0KPiBtZW1wb29sX2F1 ZGl0X2NhY2hlKGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbCAqbXApDQo+IHsNCj4gCS8qIGNoZWNr IGNhY2hlIHNpemUgY29uc2lzdGVuY3kgKi8NCj4gCXVuc2lnbmVkIGxjb3JlX2lkOw0KPisNCj4r CWlmIChtcC0+Y2FjaGVfc2l6ZSA9PSAwKQ0KPisJCXJldHVybjsNCj4rDQo+IAlmb3IgKGxjb3Jl X2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKSB7DQo+IAkJaWYg KG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0ubGVuID4gbXAtPmNhY2hlX2ZsdXNodGhyZXNoKSB7 DQo+IAkJCVJURV9MT0coQ1JJVCwgTUVNUE9PTCwgImJhZG5lc3Mgb24gY2FjaGVbJXVdXG4iLA0K PkBAIC03NjgsMTAgKzc2Nyw2IEBAIG1lbXBvb2xfYXVkaXRfY2FjaGUoY29uc3Qgc3RydWN0IHJ0 ZV9tZW1wb29sICptcCkNCj4gCQl9DQo+IAl9DQo+IH0NCj4tI2Vsc2UNCj4tI2RlZmluZSBtZW1w b29sX2F1ZGl0X2NhY2hlKG1wKSBkbyB7fSB3aGlsZSgwKQ0KPi0jZW5kaWYNCj4tDQo+IA0KPiAv KiBjaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgbWVtcG9vbCAoc2l6ZSwgY29va2llcywgLi4uKSAq Lw0KPiB2b2lkDQo+ZGlmZiAtLWdpdCBhL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5o IGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmgNCj5pbmRleCA5NzQ1YmYwLi44NTk1 ZTc3IDEwMDY0NA0KPi0tLSBhL2xpYi9saWJydGVfbWVtcG9vbC9ydGVfbWVtcG9vbC5oDQo+Kysr IGIvbGliL2xpYnJ0ZV9tZW1wb29sL3J0ZV9tZW1wb29sLmgNCj5AQCAtOTUsNyArOTUsNiBAQCBz dHJ1Y3QgcnRlX21lbXBvb2xfZGVidWdfc3RhdHMgew0KPiB9IF9fcnRlX2NhY2hlX2FsaWduZWQ7 DQo+ICNlbmRpZg0KPiANCj4tI2lmIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4gMA0KPiAv KioNCj4gICogQSBzdHJ1Y3R1cmUgdGhhdCBzdG9yZXMgYSBwZXItY29yZSBvYmplY3QgY2FjaGUu DQo+ICAqLw0KPkBAIC0xMDcsNyArMTA2LDYgQEAgc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlIHsN Cj4gCSAqLw0KPiAJdm9pZCAqb2Jqc1tSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSAqIDNdOyAv Kio8IENhY2hlIG9iamVjdHMgKi8NCj4gfSBfX3J0ZV9jYWNoZV9hbGlnbmVkOw0KPi0jZW5kaWYg LyogUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgPiAwICovDQo+IA0KPiAvKioNCj4gICogQSBz dHJ1Y3R1cmUgdGhhdCBzdG9yZXMgdGhlIHNpemUgb2YgbWVtcG9vbCBlbGVtZW50cy4NCj5AQCAt MTk0LDEwICsxOTIsNyBAQCBzdHJ1Y3QgcnRlX21lbXBvb2wgew0KPiANCj4gCXVuc2lnbmVkIHBy aXZhdGVfZGF0YV9zaXplOyAgICAgIC8qKjwgU2l6ZSBvZiBwcml2YXRlIGRhdGEuICovDQo+IA0K Pi0jaWYgUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgPiAwDQo+LQkvKiogUGVyLWxjb3JlIGxv Y2FsIGNhY2hlLiAqLw0KPi0Jc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hlIGxvY2FsX2NhY2hlW1JU RV9NQVhfTENPUkVdOw0KPi0jZW5kaWYNCj4rCXN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSAqbG9j YWxfY2FjaGU7IC8qKjwgUGVyLWxjb3JlIGxvY2FsIGNhY2hlICovDQo+IA0KPiAjaWZkZWYgUlRF X0xJQlJURV9NRU1QT09MX0RFQlVHDQo+IAkvKiogUGVyLWxjb3JlIHN0YXRpc3RpY3MuICovDQo+ QEAgLTI0Nyw2ICsyNDIsMTMgQEAgc3RydWN0IHJ0ZV9tZW1wb29sIHsNCj4gI2VuZGlmDQo+IA0K PiAvKioNCj4rICogU2l6ZSBvZiBlbHRfcGEgYXJyYXkgc2l6ZSBiYXNlZCBvbiBudW1iZXIgb2Yg cGFnZXMuIChJbnRlcm5hbCB1c2UpDQo+KyAqLw0KPisjZGVmaW5lIF9fUEFfU0laRShtcCwgcGdu KSBcDQo+KwlSVEVfQUxJR05fQ0VJTCgoKChwZ24pIC0gUlRFX0RJTSgobXApLT5lbHRfcGEpKSAq IFwNCj4rCXNpemVvZigobXApLT5lbHRfcGFbMF0pKSwgUlRFX0NBQ0hFX0xJTkVfU0laRSkNCj4r DQo+Ky8qKg0KPiAgKiBDYWxjdWxhdGUgdGhlIHNpemUgb2YgdGhlIG1lbXBvb2wgaGVhZGVyLg0K PiAgKg0KPiAgKiBAcGFyYW0gbXANCj5AQCAtMjU0LDkgKzI1Niw5IEBAIHN0cnVjdCBydGVfbWVt cG9vbCB7DQo+ICAqIEBwYXJhbSBwZ24NCj4gICogICBOdW1iZXIgb2YgcGFnZXMgdXNlZCB0byBz dG9yZSBtZW1wb29sIG9iamVjdHMuDQo+ICAqLw0KPi0jZGVmaW5lCU1FTVBPT0xfSEVBREVSX1NJ WkUobXAsIHBnbikJKHNpemVvZigqKG1wKSkgKyBcDQo+LQlSVEVfQUxJR05fQ0VJTCgoKHBnbikg LSBSVEVfRElNKChtcCktPmVsdF9wYSkpICogXA0KPi0Jc2l6ZW9mICgobXApLT5lbHRfcGFbMF0p LCBSVEVfQ0FDSEVfTElORV9TSVpFKSkNCj4rI2RlZmluZSBNRU1QT09MX0hFQURFUl9TSVpFKG1w LCBwZ24sIGNzKSBcDQo+Kwkoc2l6ZW9mKCoobXApKSArIF9fUEFfU0laRShtcCwgcGduKSArICgo KGNzKSA9PSAwKSA/IDAgOiBcDQo+Kwkoc2l6ZW9mKHN0cnVjdCBydGVfbWVtcG9vbF9jYWNoZSkg KiBSVEVfTUFYX0xDT1JFKSkpDQo+IA0KPiAvKioNCj4gICogUmV0dXJuIHRydWUgaWYgdGhlIHdo b2xlIG1lbXBvb2wgaXMgaW4gY29udGlndW91cyBtZW1vcnkuDQo+QEAgLTc1NSwxOSArNzU3LDE2 IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBfX2F0dHJpYnV0ZV9fKChhbHdheXNfaW5saW5lKSkNCj4g X19tZW1wb29sX3B1dF9idWxrKHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsIHZvaWQgKiBjb25zdCAq b2JqX3RhYmxlLA0KPiAJCSAgICB1bnNpZ25lZCBuLCBpbnQgaXNfbXApDQo+IHsNCj4tI2lmIFJU RV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4gMA0KPiAJc3RydWN0IHJ0ZV9tZW1wb29sX2NhY2hl ICpjYWNoZTsNCj4gCXVpbnQzMl90IGluZGV4Ow0KPiAJdm9pZCAqKmNhY2hlX29ianM7DQo+IAl1 bnNpZ25lZCBsY29yZV9pZCA9IHJ0ZV9sY29yZV9pZCgpOw0KPiAJdWludDMyX3QgY2FjaGVfc2l6 ZSA9IG1wLT5jYWNoZV9zaXplOw0KPiAJdWludDMyX3QgZmx1c2h0aHJlc2ggPSBtcC0+Y2FjaGVf Zmx1c2h0aHJlc2g7DQo+LSNlbmRpZiAvKiBSVEVfTUVNUE9PTF9DQUNIRV9NQVhfU0laRSA+IDAg Ki8NCj4gDQo+IAkvKiBpbmNyZW1lbnQgc3RhdCBub3csIGFkZGluZyBpbiBtZW1wb29sIGFsd2F5 cyBzdWNjZXNzICovDQo+IAlfX01FTVBPT0xfU1RBVF9BREQobXAsIHB1dCwgbik7DQo+IA0KPi0j aWYgUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgPiAwDQo+IAkvKiBjYWNoZSBpcyBub3QgZW5h YmxlZCBvciBzaW5nbGUgcHJvZHVjZXIgb3Igbm9uLUVBTCB0aHJlYWQgKi8NCj4gCWlmICh1bmxp a2VseShjYWNoZV9zaXplID09IDAgfHwgaXNfbXAgPT0gMCB8fA0KPiAJCSAgICAgbGNvcmVfaWQg Pj0gUlRFX01BWF9MQ09SRSkpDQo+QEAgLTgwMiw3ICs4MDEsNiBAQCBfX21lbXBvb2xfcHV0X2J1 bGsoc3RydWN0IHJ0ZV9tZW1wb29sICptcCwgdm9pZCAqIGNvbnN0ICpvYmpfdGFibGUsDQo+IAly ZXR1cm47DQo+IA0KPiByaW5nX2VucXVldWU6DQo+LSNlbmRpZiAvKiBSVEVfTUVNUE9PTF9DQUNI RV9NQVhfU0laRSA+IDAgKi8NCj4gDQo+IAkvKiBwdXNoIHJlbWFpbmluZyBvYmplY3RzIGluIHJp bmcgKi8NCj4gI2lmZGVmIFJURV9MSUJSVEVfTUVNUE9PTF9ERUJVRw0KPkBAIC05NDYsNyArOTQ0 LDYgQEAgX19tZW1wb29sX2dldF9idWxrKHN0cnVjdCBydGVfbWVtcG9vbCAqbXAsIHZvaWQgKipv YmpfdGFibGUsDQo+IAkJICAgdW5zaWduZWQgbiwgaW50IGlzX21jKQ0KPiB7DQo+IAlpbnQgcmV0 Ow0KPi0jaWYgUlRFX01FTVBPT0xfQ0FDSEVfTUFYX1NJWkUgPiAwDQo+IAlzdHJ1Y3QgcnRlX21l bXBvb2xfY2FjaGUgKmNhY2hlOw0KPiAJdWludDMyX3QgaW5kZXgsIGxlbjsNCj4gCXZvaWQgKipj YWNoZV9vYmpzOw0KPkBAIC05OTIsNyArOTg5LDYgQEAgX19tZW1wb29sX2dldF9idWxrKHN0cnVj dCBydGVfbWVtcG9vbCAqbXAsIHZvaWQgKipvYmpfdGFibGUsDQo+IAlyZXR1cm4gMDsNCj4gDQo+ IHJpbmdfZGVxdWV1ZToNCj4tI2VuZGlmIC8qIFJURV9NRU1QT09MX0NBQ0hFX01BWF9TSVpFID4g MCAqLw0KPiANCj4gCS8qIGdldCByZW1haW5pbmcgb2JqZWN0cyBmcm9tIHJpbmcgKi8NCj4gCWlm IChpc19tYykNCj5AQCAtMTI5Myw3ICsxMjg5LDggQEAgdm9pZCBydGVfbWVtcG9vbF9hdWRpdChj b25zdCBzdHJ1Y3QgcnRlX21lbXBvb2wgKm1wKTsNCj4gICovDQo+IHN0YXRpYyBpbmxpbmUgdm9p ZCAqcnRlX21lbXBvb2xfZ2V0X3ByaXYoc3RydWN0IHJ0ZV9tZW1wb29sICptcCkNCj4gew0KPi0J cmV0dXJuIChjaGFyICopbXAgKyBNRU1QT09MX0hFQURFUl9TSVpFKG1wLCBtcC0+cGdfbnVtKTsN Cj4rCXJldHVybiAoY2hhciAqKW1wICsNCj4rCQlNRU1QT09MX0hFQURFUl9TSVpFKG1wLCBtcC0+ cGdfbnVtLCBtcC0+Y2FjaGVfc2l6ZSk7DQoNCkFuZCBoZXJlPw0KDQo+IH0NCj4gDQo+IC8qKg0K Pi0tIA0KPjIuMS40DQo+DQo+DQoNCg0KUmVnYXJkcywNCktlaXRoDQoNCg0KDQoNCg==