From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tony Lindgren Subject: Re: am35xx memory management issues Date: Thu, 12 Nov 2015 09:06:59 -0800 Message-ID: <20151112170659.GL3218@atomide.com> References: <5644AD53.3020303@nomovok.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <5644AD53.3020303@nomovok.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org To: Markku =?utf-8?Q?Ahvenj=C3=A4rvi?= Cc: linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: linux-omap@vger.kernel.org SGksCgoqIE1hcmtrdSBBaHZlbmrDpHJ2aSA8bWFya2t1LmFodmVuamFydmlAbm9tb3Zvay5jb20+ IFsxNTExMTIgMDc6MjZdOgo+IEhlbGxvIGV2ZXJ5b25lLAo+IAo+IFdlIGhhdmUgYW0zNTE3IGJh c2VkIGJvYXJkIGFuZCBhcmUgZXhwZXJpZW5jaW5nIHNwb3JhZGljIGNvcnJ1cHRpb24gb2YgbW0g c3RydWN0dXJlcy4gV2UndmUgaGFkIHRoaXMgcHJvYmxlbSBmb3IgbW9udGhzIG5vdyBhbmQgaGF2 ZW4ndCByZWFsbHkgZ290IGJvdHRvbSBvZiBpdC4KPiAKPiBPdXIgYm9hcmQgaXMgY3VycmVudGx5 IHVzaW5nIDMuMTguMjAsIGJ1dCB3aXRoIGFtMzUxNy1ldm0gd2UndmUgdHJpZWQgcHJldHR5IG11 Y2ggZXZlcnl0aGluZyBiZXR3ZWVuIHYzLjE0IGFuZCB2NC4yLiBTbyBmYXIgd2UndmUgYmVlbiBh YmxlIHRvIHJlcHJvZHVjZSBpdCBvbiBhbTM1MTctZXZtLCBjcmFuZWJvYXJkIGFuZCBiZWFnbGVi b2FyZCAocmV2LiBDMyBhbmQgQzQpLiBXZSBoYXZlIGFsc28gdGVzdGVkIGFtL2RtMzd4LWV2bSwg YW0zMzV4LWV2bSBhbmQgYmVhZ2xlIGJvbmUgYmxhY2ssIG5vIHByb2JsZW1zIHNlZW4uCj4gCj4g VXN1YWxseSBrZXJuZWwgaXQgcGFuaWNzIGluICdrZXJuZWwgQlVHIGF0IG1tL3JtYXAuYzo0MDYh JywgYnV0IG9jY2FzaW9uYWxseSB0aGVyZSdzICdCVUc6IEJhZCByc3MtY291bnRlciBzdGF0ZScg cHJpbnRzIGZvbGxvd2VkIGJ5IE5VTEwgcG9pbnRlciBkZXJlZiBvciBhbm90aGVyIEJVRyBzdGF0 ZW1lbnQgaW4gbW0vc2xhYi5jLiBTb21ldGltZXMgc3BpbmxvY2sgbG9ja3VwIG9yIGFscmVhZHkg dW5sb2NrZWQgcmVwb3J0ZWQsIHNvIGl0IGlzIHF1aXRlIHJhbmRvbS4KPiAKPiBSZXByb2R1Y2lu ZyBjYW4gdGFrZSBmcm9tIGhhbGYgaG91ciB1cCB0byBmZXcgZGF5cy4gV2UgYXJlIHVzaW5nIHN0 cmVzcy1uZyB3aXRoIG9wdGlvbnM6Cj4gc3RyZXNzLW5nIC0tY3B1IDEgLS12bSAzIC0tdm0tYnl0 ZXMgNjRNIC0tZm9yayA0Cj4gCj4gSW4gb3VyIHRlc3RzIHdlIGhhdmUgbm90aWNlZCB0aGF0IGtl cm5lbCBjb25maWd1cmF0aW9uIGFmZmVjdCBmcmVxdWVuY3kgb2YgdGhlIHByb2JsZW0uIFNvIGZh ciB3ZSBoYXZlbid0IHNlZW4gYW55IHdpdGggb21hcDJwbHVzX2RlZmNvbmZpZywgYnV0IHdpdGgg c2xpbW1lciBkZWZjb25maWcgbGlrZSB0aGUgb25lIHdlIGFyZSB1c2luZyBmb3Igb3VyIGJvYXJk IHdlIGNhbiBnZXQgaXQgaW4gZmV3IGhvdXJzLiBXZSBiaXNlY3RlZCBvdXIgZGVmY29uZmlnIGFu ZCBvbWFwMnBsdXNfZGVmY29uZmlnLCBidXQgY291bGRuJ3QgcGlucG9pbnQgYW55IHNwZWNpZmlj IGNvbmZpZyB0aGF0IHdvdWxkIGNhdXNlIHRoZXNlIHByb2JsZW1zOiBpdCBqdXN0IGdvdCBsZXNz IGZyZXF1ZW50IHVudGlsIHN0b3BwZWQgb2NjdXJyaW5nLiBUbyBydWxlIG91dCBhbnkgYmFkIGJl aGF2aW5nIGRyaXZlcnMsIHdlIGJhc2ljYWxseSBkaXNhYmxlZCBldmVyeXRoaW5nIGJ1dCBzZXJp YWwgYW5kIGl0IGp1c3Qga2VwdCBjcmFzaGluZy4KCkFkZGluZyBhbHNvIExBS01MIHRvIENjLiBD YW4geW91IGNoZWNrIGlmIGl0IHN0YXJ0cyBoYXBwZW5pbmcgaWYgeW91CmxlYXZlIG91dCBvdGhl ciBvbWFwcyBmcm9tIC5jb25maWcgb3RoZXIgdGhhbiBDT05GSUdfQVJDSF9PTUFQMz8KVGhhdCdz IHRvIGNvbXBpbGUgY29kZSBvbmx5IGZvciBBUk12NyBhbmQgbGVhdmUgb3V0IEFSTXY2LgoKQWxz byBwbGVhc2UgY2hlY2sgaWYgbGVhdmluZyBvdXQgQ09ORklHX1NNUF9PTl9VUCBhZmZlY3RzIHRo aW5ncy4KCj4gU29tZW9uZSB3YXMgaGF2aW5nIHF1aXRlIHNpbWlsYXIgcHJvYmxlbXMgYmFjayBp biAyMDEyLCBidXQgb3RoZXIgdGhhbiB0aGF0IHdlJ3ZlIGZvdW5kIG5vdGhpbmc6Cj4gaHR0cDov L3RocmVhZC5nbWFuZS5vcmcvZ21hbmUubGludXgucG9ydHMuYXJtLm9tYXAvNzgwMzkvCj4gCj4g QW55b25lIHNlZW4gdGhpcyBraW5kIG9mIGlzc3VlcyBiZWZvcmU/IEFueSBpZGVhcyB3aGF0IG1p Z2h0IGNhdXNlIHRoaXM/CgpJZiBpdCBzdGFydHMgaGFwcGVuaW5nIGFmdGVyIGFmdGVyIGxlYXZp bmcgb3V0IEFSTXY2IG9yIFNNUF9PTl9VUCwKaXQgY291bGQgYmUgYSBjYWNoZSBidWcgb3IgbWlz c2luZyBlcnJhdGEgdGhhdCdzIG5lZWRlZC4KClJlZ2FyZHMsCgpUb255CgoKPiBbICAgIDAuMDAw MDAwXSBCb290aW5nIExpbnV4IG9uIHBoeXNpY2FsIENQVSAweDAKPiBbICAgIDAuMDAwMDAwXSBM aW51eCB2ZXJzaW9uIDMuMTguMjQgKG1hcmtrdUB0aGlua3BhZCkgKGdjYyB2ZXJzaW9uIDQuOS4z IDIwMTQxMDMxIChwcmVyZWxlYXNlKSAoTGluYXJvIEdDQyAyMDE0LjExKSApICMyIFBSRUVNUFQg V2VkIE5vdiA0IDA5OjUxOjM2IEVFVCAyMDE1Cj4gWyAgICAwLjAwMDAwMF0gQ1BVOiBBUk12NyBQ cm9jZXNzb3IgWzQxMWZjMDg3XSByZXZpc2lvbiA3IChBUk12NyksIGNyPTEwYzUzODdkCj4gWyAg ICAwLjAwMDAwMF0gQ1BVOiBQSVBUIC8gVklQVCBub25hbGlhc2luZyBkYXRhIGNhY2hlLCBWSVBU IG5vbmFsaWFzaW5nIGluc3RydWN0aW9uIGNhY2hlCj4gWyAgICAwLjAwMDAwMF0gTWFjaGluZSBt b2RlbDogVEkgQU0zNTE3IEVWTSAoQU0zNTE3LzA1IFRNRFNFVk0zNTE3KQo+IFsgICAgMC4wMDAw MDBdIGNtYTogUmVzZXJ2ZWQgOCBNaUIgYXQgMHg4ZjQwMDAwMAo+IFsgICAgMC4wMDAwMDBdIE1l bW9yeSBwb2xpY3k6IERhdGEgY2FjaGUgd3JpdGViYWNrCj4gWyAgICAwLjAwMDAwMF0gT24gbm9k ZSAwIHRvdGFscGFnZXM6IDY1MjgwCj4gWyAgICAwLjAwMDAwMF0gZnJlZV9hcmVhX2luaXRfbm9k ZTogbm9kZSAwLCBwZ2RhdCBjMDliZTk4MCwgbm9kZV9tZW1fbWFwIGNmY2U3MDAwCj4gWyAgICAw LjAwMDAwMF0gICBOb3JtYWwgem9uZTogNTEyIHBhZ2VzIHVzZWQgZm9yIG1lbW1hcAo+IFsgICAg MC4wMDAwMDBdICAgTm9ybWFsIHpvbmU6IDAgcGFnZXMgcmVzZXJ2ZWQKPiBbICAgIDAuMDAwMDAw XSAgIE5vcm1hbCB6b25lOiA2NTI4MCBwYWdlcywgTElGTyBiYXRjaDoxNQo+IFsgICAgMC4wMDAw MDBdICAgSGlnaE1lbSB6b25lOiAxMDQ4NTc0IHBhZ2VzIGV4Y2VlZHMgZnJlZXNpemUgMAo+IFsg ICAgMC4wMDAwMDBdIENQVTogQWxsIENQVShzKSBzdGFydGVkIGluIFNWQyBtb2RlLgo+IFsgICAg MC4wMDAwMDBdIEFNMzUxNyBFUzEuMSAobDJjYWNoZSBzZ3ggbmVvbiApCj4gWyAgICAwLjAwMDAw MF0gcGNwdS1hbGxvYzogczAgcjAgZDMyNzY4IHUzMjc2OCBhbGxvYz0xKjMyNzY4Cj4gWyAgICAw LjAwMDAwMF0gcGNwdS1hbGxvYzogWzBdIDAKPiBbICAgIDAuMDAwMDAwXSBCdWlsdCAxIHpvbmVs aXN0cyBpbiBab25lIG9yZGVyLCBtb2JpbGl0eSBncm91cGluZyBvbi4gIFRvdGFsIHBhZ2VzOiA2 NDc2OAo+IFsgICAgMC4wMDAwMDBdIEtlcm5lbCBjb21tYW5kIGxpbmU6IGNvbnNvbGU9dHR5TzIs MTE1MjAwCj4gWyAgICAwLjAwMDAwMF0gUElEIGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3Jk ZXI6IDAsIDQwOTYgYnl0ZXMpCj4gWyAgICAwLjAwMDAwMF0gRGVudHJ5IGNhY2hlIGhhc2ggdGFi bGUgZW50cmllczogMzI3NjggKG9yZGVyOiA1LCAxMzEwNzIgYnl0ZXMpCj4gWyAgICAwLjAwMDAw MF0gSW5vZGUtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxNjM4NCAob3JkZXI6IDQsIDY1NTM2 IGJ5dGVzKQo+IFsgICAgMC4wMDAwMDBdIE1lbW9yeTogMjM5OTQwSy8yNjExMjBLIGF2YWlsYWJs ZSAoNDgwOUsga2VybmVsIGNvZGUsIDM0MUsgcndkYXRhLCAxODE2SyByb2RhdGEsIDI5OTZLIGlu aXQsIDM1M0sgYnNzLCAyMTE4MEsgcmVzZXJ2ZWQsIDBLIGhpZ2htZW0pCj4gWyAgICAwLjAwMDAw MF0gVmlydHVhbCBrZXJuZWwgbWVtb3J5IGxheW91dDoKPiBbICAgIDAuMDAwMDAwXSAgICAgdmVj dG9yICA6IDB4ZmZmZjAwMDAgLSAweGZmZmYxMDAwICAgKCAgIDQga0IpCj4gWyAgICAwLjAwMDAw MF0gICAgIGZpeG1hcCAgOiAweGZmYzAwMDAwIC0gMHhmZmUwMDAwMCAgICgyMDQ4IGtCKQo+IFsg ICAgMC4wMDAwMDBdICAgICB2bWFsbG9jIDogMHhkMDgwMDAwMCAtIDB4ZmYwMDAwMDAgICAoIDc0 NCBNQikKPiBbICAgIDAuMDAwMDAwXSAgICAgbG93bWVtICA6IDB4YzAwMDAwMDAgLSAweGQwMDAw MDAwICAgKCAyNTYgTUIpCj4gWyAgICAwLjAwMDAwMF0gICAgIHBrbWFwICAgOiAweGJmZTAwMDAw IC0gMHhjMDAwMDAwMCAgICggICAyIE1CKQo+IFsgICAgMC4wMDAwMDBdICAgICBtb2R1bGVzIDog MHhiZjAwMDAwMCAtIDB4YmZlMDAwMDAgICAoICAxNCBNQikKPiBbICAgIDAuMDAwMDAwXSAgICAg ICAudGV4dCA6IDB4YzAwMDgwMDAgLSAweGMwNjgwOTg0ICAgKDY2Mjcga0IpCj4gWyAgICAwLjAw MDAwMF0gICAgICAgLmluaXQgOiAweGMwNjgxMDAwIC0gMHhjMDk2ZTAwMCAgICgyOTk2IGtCKQo+ IFsgICAgMC4wMDAwMDBdICAgICAgIC5kYXRhIDogMHhjMDk2ZTAwMCAtIDB4YzA5YzM1NGMgICAo IDM0MiBrQikKPiBbICAgIDAuMDAwMDAwXSAgICAgICAgLmJzcyA6IDB4YzA5YzM1NGMgLSAweGMw YTFiOTdjICAgKCAzNTQga0IpCj4gWyAgICAwLjAwMDAwMF0gUHJlZW1wdGlibGUgaGllcmFyY2hp Y2FsIFJDVSBpbXBsZW1lbnRhdGlvbi4KPiBbICAgIDAuMDAwMDAwXSBOUl9JUlFTOjE2IG5yX2ly cXM6MTYgMTYKPiBbICAgIDAuMDAwMDAwXSBJUlE6IEZvdW5kIGFuIElOVEMgYXQgMHhmYTIwMDAw MCAocmV2aXNpb24gNC4wKSB3aXRoIDk2IGludGVycnVwdHMKPiBbICAgIDAuMDAwMDAwXSBDbG9j a2luZyByYXRlIChDcnlzdGFsL0NvcmUvTVBVKTogMjYuMC8zMzIvNjAwIE1Iego+IFsgICAgMC4w MDAwMDBdIE9NQVAgY2xvY2tldmVudCBzb3VyY2U6IHRpbWVyMiBhdCAxMzAwMDAwMCBIego+IFsg ICAgMC4wMDAwMjNdIHNjaGVkX2Nsb2NrOiAzMiBiaXRzIGF0IDEzTUh6LCByZXNvbHV0aW9uIDc2 bnMsIHdyYXBzIGV2ZXJ5IDMzMDM4MjEwMDQwM25zCj4gWyAgICAwLjAwMDA1OF0gT01BUCBjbG9j a3NvdXJjZTogdGltZXIxIGF0IDEzMDAwMDAwIEh6Cj4gWyAgICAwLjAwMDU5OF0gQ29uc29sZTog Y29sb3VyIGR1bW15IGRldmljZSA4MHgzMAo+IFsgICAgMC4wMDA2MzVdIENhbGlicmF0aW5nIGRl bGF5IGxvb3AuLi4gNTg5LjgyIEJvZ29NSVBTIChscGo9Mjk0OTEyKQo+IFsgICAgMC4wMDg5ODBd IHBpZF9tYXg6IGRlZmF1bHQ6IDMyNzY4IG1pbmltdW06IDMwMQo+IFsgICAgMC4wMDkxNjhdIFNl Y3VyaXR5IEZyYW1ld29yayBpbml0aWFsaXplZAo+IFsgICAgMC4wMDkyNjRdIE1vdW50LWNhY2hl IGhhc2ggdGFibGUgZW50cmllczogMTAyNCAob3JkZXI6IDAsIDQwOTYgYnl0ZXMpCj4gWyAgICAw LjAwOTI4Ml0gTW91bnRwb2ludC1jYWNoZSBoYXNoIHRhYmxlIGVudHJpZXM6IDEwMjQgKG9yZGVy OiAwLCA0MDk2IGJ5dGVzKQo+IFsgICAgMC4wMTAzMTNdIENQVTogVGVzdGluZyB3cml0ZSBidWZm ZXIgY29oZXJlbmN5OiBvawo+IFsgICAgMC4wMTA5MzZdIFNldHRpbmcgdXAgc3RhdGljIGlkZW50 aXR5IG1hcCBmb3IgMHg4MDQ5NmM3OCAtIDB4ODA0OTZjZDAKPiBbICAgIDAuMDEzODc4XSBkZXZ0 bXBmczogaW5pdGlhbGl6ZWQKPiBbICAgIDAuMDE2NTMwXSBWRlAgc3VwcG9ydCB2MC4zOiBpbXBs ZW1lbnRvciA0MSBhcmNoaXRlY3R1cmUgMyBwYXJ0IDMwIHZhcmlhbnQgYyByZXYgMQo+IFsgICAg MC4wMzgxMjBdIG9tYXBfaHdtb2Q6IG1jYnNwMl9zaWRldG9uZSB1c2luZyBicm9rZW4gZHQgZGF0 YSBmcm9tIG1jYnNwCj4gWyAgICAwLjAzODc1MV0gb21hcF9od21vZDogbWNic3AzX3NpZGV0b25l IHVzaW5nIGJyb2tlbiBkdCBkYXRhIGZyb20gbWNic3AKPiBbICAgIDAuMDgyNzUzXSBvbWFwX2h3 bW9kOiBtY2JzcDI6IGNhbm5vdCBiZSBlbmFibGVkIGZvciByZXNldCAoMykKPiBbICAgIDAuMDk5 MTUzXSBwaW5jdHJsIGNvcmU6IGluaXRpYWxpemVkIHBpbmN0cmwgc3Vic3lzdGVtCj4gWyAgICAw LjEwMDE3OV0gcmVndWxhdG9yLWR1bW15OiBubyBwYXJhbWV0ZXJzCj4gWyAgICAwLjEzNDM1OV0g TkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAxNgo+IFsgICAgMC4xMzcwNThdIERNQTog cHJlYWxsb2NhdGVkIDI1NiBLaUIgcG9vbCBmb3IgYXRvbWljIGNvaGVyZW50IGFsbG9jYXRpb25z Cj4gWyAgICAwLjE0NjYxMV0gUmVwcm9ncmFtbWluZyBTRFJDIGNsb2NrIHRvIDMzMjAwMDAwMCBI ego+IFsgICAgMC4xNDk2OTVdIHBsYXRmb3JtIDQ4MGM1MDAwLmFlczogQ2Fubm90IGxvb2t1cCBo d21vZCAnYWVzJwo+IFsgICAgMC4xNTYwNTBdIE9NQVAgR1BJTyBoYXJkd2FyZSB2ZXJzaW9uIDIu NQo+IFsgICAgMC4xNzM0NzNdIHBsYXRmb3JtIDQ4MGMzMDAwLnNoYW06IENhbm5vdCBsb29rdXAg aHdtb2QgJ3NoYW0nCj4gWyAgICAwLjE3NDA0Ml0gcGxhdGZvcm0gNDgwY2IwMDAuc21hcnRyZWZs ZXg6IENhbm5vdCBsb29rdXAgaHdtb2QgJ3NtYXJ0cmVmbGV4X2NvcmUnCj4gWyAgICAwLjE4MTc3 M10gb21hcC1ncG1jIDZlMDAwMDAwLmdwbWM6IEdQTUMgcmV2aXNpb24gNS4wCj4gWyAgICAwLjE4 MjQwOV0gcGxhdGZvcm0gNDgwYWIwMDAudXNiX290Z19oczogQ2Fubm90IGxvb2t1cCBod21vZCAn dXNiX290Z19ocycKPiBbICAgIDAuMTg1NDg1XSBObyBBVEFHcz8KPiBbICAgIDAuMTg1NTI2XSBo dy1icmVha3BvaW50OiBkZWJ1ZyBhcmNoaXRlY3R1cmUgMHg0IHVuc3VwcG9ydGVkLgo+IFsgICAg MC4xODc4MDFdIE9NQVAgRE1BIGhhcmR3YXJlIHJldmlzaW9uIDQuMAo+IFsgICAgMC4yNDg0ODFd IG9tYXAtZG1hLWVuZ2luZSA0ODA1NjAwMC5kbWEtY29udHJvbGxlcjogT01BUCBETUEgZW5naW5l IGRyaXZlcgo+IFsgICAgMC4yNDk5MjRdIHZtbWNfZml4ZWQ6IDMzMDAgbVYKPiBbICAgIDAuMjUx OTIzXSBTQ1NJIHN1YnN5c3RlbSBpbml0aWFsaXplZAo+IFsgICAgMC4yNTI4NDhdIHVzYmNvcmU6 IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiZnMKPiBbICAgIDAuMjUzMTI3XSB1 c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGh1Ygo+IFsgICAgMC4yNTMz MzBdIHVzYmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGRldmljZSBkcml2ZXIgdXNiCj4gWyAgICAwLjI1 NTg2N10gb21hcF9pMmMgNDgwNzAwMDAuaTJjOiBidXMgMCByZXYzLjMgYXQgNDAwIGtIego+IFsg ICAgMC4yNTcyMTVdIG9tYXBfaTJjIDQ4MDcyMDAwLmkyYzogYnVzIDEgcmV2My4zIGF0IDQwMCBr SHoKPiBbICAgIDAuMjU4MzMwXSBvbWFwX2kyYyA0ODA2MDAwMC5pMmM6IGJ1cyAyIHJldjMuMyBh dCA0MDAga0h6Cj4gWyAgICAwLjI2MDgxNV0gU3dpdGNoZWQgdG8gY2xvY2tzb3VyY2UgdGltZXIx Cj4gWyAgICAwLjM0MDY2MV0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAyCj4gWyAg ICAwLjM0MjQyOV0gVENQIGVzdGFibGlzaGVkIGhhc2ggdGFibGUgZW50cmllczogMjA0OCAob3Jk ZXI6IDEsIDgxOTIgYnl0ZXMpCj4gWyAgICAwLjM0MjUwNl0gVENQIGJpbmQgaGFzaCB0YWJsZSBl bnRyaWVzOiAyMDQ4IChvcmRlcjogMywgNDA5NjAgYnl0ZXMpCj4gWyAgICAwLjM0MjYwNF0gVENQ OiBIYXNoIHRhYmxlcyBjb25maWd1cmVkIChlc3RhYmxpc2hlZCAyMDQ4IGJpbmQgMjA0OCkKPiBb ICAgIDAuMzQyNzQzXSBUQ1A6IHJlbm8gcmVnaXN0ZXJlZAo+IFsgICAgMC4zNDI3NjhdIFVEUCBo YXNoIHRhYmxlIGVudHJpZXM6IDI1NiAob3JkZXI6IDEsIDEyMjg4IGJ5dGVzKQo+IFsgICAgMC4z NDI4NzldIFVEUC1MaXRlIGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMSwgMTIyODgg Ynl0ZXMpCj4gWyAgICAwLjM0MzIwNF0gTkVUOiBSZWdpc3RlcmVkIHByb3RvY29sIGZhbWlseSAx Cj4gWyAgICAwLjg2MTM1OF0gaHcgcGVyZmV2ZW50czogZW5hYmxlZCB3aXRoIGFybXY3X2NvcnRl eF9hOCBQTVUgZHJpdmVyLCA1IGNvdW50ZXJzIGF2YWlsYWJsZQo+IFsgICAgMC44NjcyMTldIGZ1 dGV4IGhhc2ggdGFibGUgZW50cmllczogMjU2IChvcmRlcjogMCwgNzE2OCBieXRlcykKPiBbICAg IDAuODcwNDg3XSBWRlM6IERpc2sgcXVvdGFzIGRxdW90XzYuNS4yCj4gWyAgICAwLjg3MDU4OV0g RHF1b3QtY2FjaGUgaGFzaCB0YWJsZSBlbnRyaWVzOiAxMDI0IChvcmRlciAwLCA0MDk2IGJ5dGVz KQo+IFsgICAgMC44NzEzODFdIG1zZ21uaSBoYXMgYmVlbiBzZXQgdG8gNDg0Cj4gWyAgICAwLjg3 NDkxM10gaW8gc2NoZWR1bGVyIG5vb3AgcmVnaXN0ZXJlZAo+IFsgICAgMC44NzQ5NDhdIGlvIHNj aGVkdWxlciBkZWFkbGluZSByZWdpc3RlcmVkCj4gWyAgICAwLjg3NTAyOV0gaW8gc2NoZWR1bGVy IGNmcSByZWdpc3RlcmVkIChkZWZhdWx0KQo+IFsgICAgMC44NzcxNDVdIHBpbmN0cmwtc2luZ2xl IDQ4MDAyMDMwLnBpbm11eDogMjg0IHBpbnMgYXQgcGEgZmEwMDIwMzAgc2l6ZSA1NjgKPiBbICAg IDAuODc3NTM3XSBwaW5jdHJsLXNpbmdsZSA0ODAwMmEwMC5waW5tdXg6IDQ2IHBpbnMgYXQgcGEg ZmEwMDJhMDAgc2l6ZSA5Mgo+IFsgICAgMC44ODA1NzFdIG9tYXBfdWFydCA0ODA2YTAwMC5zZXJp YWw6IG5vIHdha2VpcnEgZm9yIHVhcnQwCj4gWyAgICAwLjg4MTExMF0gNDgwNmEwMDAuc2VyaWFs OiB0dHlPMCBhdCBNTUlPIDB4NDgwNmEwMDAgKGlycSA9IDg4LCBiYXNlX2JhdWQgPSAzMDAwMDAw KSBpcyBhIE9NQVAgVUFSVDAKPiBbICAgIDAuODgyMDI4XSBvbWFwX3VhcnQgNDgwNmMwMDAuc2Vy aWFsOiBubyB3YWtlaXJxIGZvciB1YXJ0MAo+IFsgICAgMC44ODI1NzNdIDQ4MDZjMDAwLnNlcmlh bDogdHR5TzEgYXQgTU1JTyAweDQ4MDZjMDAwIChpcnEgPSA4OSwgYmFzZV9iYXVkID0gMzAwMDAw MCkgaXMgYSBPTUFQIFVBUlQxCj4gWyAgICAwLjg4MzUyMV0gb21hcF91YXJ0IDQ5MDIwMDAwLnNl cmlhbDogbm8gd2FrZWlycSBmb3IgdWFydDAKPiBbICAgIDAuODgzNjkxXSA0OTAyMDAwMC5zZXJp YWw6IHR0eU8yIGF0IE1NSU8gMHg0OTAyMDAwMCAoaXJxID0gOTAsIGJhc2VfYmF1ZCA9IDMwMDAw MDApIGlzIGEgT01BUCBVQVJUMgo+IFsgICAgMS40NjkwNDRdIGNvbnNvbGUgW3R0eU8yXSBlbmFi bGVkCj4gWyAgICAxLjQ5MjMzOV0gYnJkOiBtb2R1bGUgbG9hZGVkCj4gWyAgICAxLjQ5ODYyOV0g bXRkb29wczogbXRkIGRldmljZSAobXRkZGV2PW5hbWUvbnVtYmVyKSBtdXN0IGJlIHN1cHBsaWVk Cj4gWyAgICAxLjUwODE4Ml0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNlIGRyaXZl ciBhc2l4Cj4gWyAgICAxLjUxNDY3Ml0gdXNiY29yZTogcmVnaXN0ZXJlZCBuZXcgaW50ZXJmYWNl IGRyaXZlciBheDg4MTc5XzE3OGEKPiBbICAgIDEuNTIyMjg1XSB1c2Jjb3JlOiByZWdpc3RlcmVk IG5ldyBpbnRlcmZhY2UgZHJpdmVyIGNkY19ldGhlcgo+IFsgICAgMS41Mjk0NDRdIHVzYmNvcmU6 IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgc21zYzk1eHgKPiBbICAgIDEuNTM2NDYz XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIG5ldDEwODAKPiBbICAg IDEuNTQzMzcyXSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2UgZHJpdmVyIGNkY19z dWJzZXQKPiBbICAgIDEuNTUwNjE4XSB1c2Jjb3JlOiByZWdpc3RlcmVkIG5ldyBpbnRlcmZhY2Ug ZHJpdmVyIGNkY19uY20KPiBbICAgIDEuNTYxMTgyXSBvbWFwX3dkdDogT01BUCBXYXRjaGRvZyBU aW1lciBSZXYgMHgzMTogaW5pdGlhbCB0aW1lb3V0IDYwIHNlYwo+IFsgICAgMS41OTUwMDldIHVz YmNvcmU6IHJlZ2lzdGVyZWQgbmV3IGludGVyZmFjZSBkcml2ZXIgdXNiaGlkCj4gWyAgICAxLjYw MTU4M10gdXNiaGlkOiBVU0IgSElEIGNvcmUgZHJpdmVyCj4gWyAgICAxLjYwNzIwNl0gb3Byb2Zp bGU6IHVzaW5nIGFybS9hcm12Nwo+IFsgICAgMS42MTE5ODddIG5mX2Nvbm50cmFjayB2ZXJzaW9u IDAuNS4wICgzODc3IGJ1Y2tldHMsIDE1NTA4IG1heCkKPiBbICAgIDEuNjE5NTEyXSBUQ1A6IGN1 YmljIHJlZ2lzdGVyZWQKPiBbICAgIDEuNjIzMTI3XSBJbml0aWFsaXppbmcgWEZSTSBuZXRsaW5r IHNvY2tldAo+IFsgICAgMS42Mjc4OThdIE5FVDogUmVnaXN0ZXJlZCBwcm90b2NvbCBmYW1pbHkg MTcKPiBbICAgIDEuNjMyNzUxXSBORVQ6IFJlZ2lzdGVyZWQgcHJvdG9jb2wgZmFtaWx5IDE1Cj4g WyAgICAxLjYzNzYxNl0gS2V5IHR5cGUgZG5zX3Jlc29sdmVyIHJlZ2lzdGVyZWQKPiBbICAgIDEu NjQyMzgyXSBvbWFwMl9zZXRfaW5pdF92b2x0YWdlOiB1bmFibGUgdG8gZmluZCBib290IHVwIE9Q UCBmb3IgdmRkX21wdV9pdmEKPiBbICAgIDEuNjUwMDI1XSBvbWFwMl9zZXRfaW5pdF92b2x0YWdl OiB1bmFibGUgdG8gc2V0IHZkZF9tcHVfaXZhCj4gWyAgICAxLjY1NjExOV0gb21hcDJfc2V0X2lu aXRfdm9sdGFnZTogdW5hYmxlIHRvIGZpbmQgYm9vdCB1cCBPUFAgZm9yIHZkZF9jb3JlCj4gWyAg ICAxLjY2MzQ3OV0gb21hcDJfc2V0X2luaXRfdm9sdGFnZTogdW5hYmxlIHRvIHNldCB2ZGRfY29y ZQo+IFsgICAgMS42NzAxMTBdIFBNOiBubyBzb2Z0d2FyZSBJL08gY2hhaW4gY29udHJvbDsgc29t ZSB3YWtldXBzIG1heSBiZSBsb3N0Cj4gWyAgICAxLjY3NzQ5OV0gcG06IEZhaWxlZCB0byByZXF1 ZXN0IHBtX3drdXAgaXJxCj4gWyAgICAxLjY4MjIzMF0gVGh1bWJFRSBDUFUgZXh0ZW5zaW9uIHN1 cHBvcnRlZC4KPiBbICAgIDEuNjg2OTIwXSBSZWdpc3RlcmluZyBTV1AvU1dQQiBlbXVsYXRpb24g aGFuZGxlcgo+IFsgICAgMS42OTcxNzZdIGRyaXZlcnMvcnRjL2hjdG9zeXMuYzogdW5hYmxlIHRv IG9wZW4gcnRjIGRldmljZSAocnRjMCkKPiBbICAgIDEuNzA1NjM0XSBtbWMwOiBob3N0IGRvZXMg bm90IHN1cHBvcnQgcmVhZGluZyByZWFkLW9ubHkgc3dpdGNoLCBhc3N1bWluZyB3cml0ZS1lbmFi bGUKPiBbICAgIDEuNzIxOTExXSBtbWMwOiBuZXcgaGlnaCBzcGVlZCBTREhDIGNhcmQgYXQgYWRk cmVzcyAwMDAyCj4gWyAgICAxLjczNzk1NV0gbW1jYmxrMDogbW1jMDowMDAyICAgICAgIDMuODEg R2lCCj4gWyAgICAxLjc0ODM4M10gIG1tY2JsazA6IHAxIHAyIHAzCj4gWyAgICAxLjc1NjYyMl0g V2FybmluZzogdW5hYmxlIHRvIG9wZW4gYW4gaW5pdGlhbCBjb25zb2xlLgo+IFsgICAgMS43NzIz NTFdIEZyZWVpbmcgdW51c2VkIGtlcm5lbCBtZW1vcnk6IDI5OTZLIChjMDY4MTAwMCAtIGMwOTZl MDAwKQo+IFsgICAgMi42NTEyMjFdIHVkZXZkWzY0M106IHN0YXJ0aW5nIHZlcnNpb24gMTgyCj4g WyAgICA0LjEwMTY3OF0gcmFuZG9tOiBkZCB1cmFuZG9tIHJlYWQgd2l0aCA1MSBiaXRzIG9mIGVu dHJvcHkgYXZhaWxhYmxlCj4gWyAgIDE1LjM5NzkzMl0gcmFuZG9tOiBub25ibG9ja2luZyBwb29s IGlzIGluaXRpYWxpemVkCj4gWyAgMzgyLjc4OTg1N10gcGVyZiBpbnRlcnJ1cHQgdG9vayB0b28g bG9uZyAoMjUzNSA+IDI1MDApLCBsb3dlcmluZyBrZXJuZWwucGVyZl9ldmVudF9tYXhfc2FtcGxl X3JhdGUgdG8gNTAwMDAKPiBbICA3NTUuMzg3ODYwXSBwZXJmIGludGVycnVwdCB0b29rIHRvbyBs b25nICg1MDA0ID4gNTAwMCksIGxvd2VyaW5nIGtlcm5lbC5wZXJmX2V2ZW50X21heF9zYW1wbGVf cmF0ZSB0byAyNTAwMAo+IFsgNDY3NS43NTE2ODJdIC0tLS0tLS0tLS0tLVsgY3V0IGhlcmUgXS0t LS0tLS0tLS0tLQo+IFsgNDY3NS44MTQxMTVdIFdBUk5JTkc6IENQVTogMCBQSUQ6IDI3NTczIGF0 IG1tL3JtYXAuYzoyMjYgdW5saW5rX2Fub25fdm1hcysweDIwYy8weDIxYygpCj4gWyA0Njc1Ljg5 NTk1MF0gTW9kdWxlcyBsaW5rZWQgaW46Cj4gWyA0Njc1LjkyNzM3MV0gQ1BVOiAwIFBJRDogMjc1 NzMgQ29tbTogc3RyZXNzLW5nLWZvcmsgTm90IHRhaW50ZWQgMy4xOC4yNCAjMgo+IFsgNDY3Ni4w MDcwODBdIFs8YzAwMTQ1YjQ+XSAodW53aW5kX2JhY2t0cmFjZSkgZnJvbSBbPGMwMDExZTY4Pl0g KHNob3dfc3RhY2srMHgxMC8weDE0KQo+IFsgNDY3Ni4wODkwNTldIFs8YzAwMTFlNjg+XSAoc2hv d19zdGFjaykgZnJvbSBbPGMwMDM1ODI0Pl0gKHdhcm5fc2xvd3BhdGhfY29tbW9uKzB4NzAvMHg4 OCkKPiBbIDQ2NzYuMTcyMDI3XSBbPGMwMDM1ODI0Pl0gKHdhcm5fc2xvd3BhdGhfY29tbW9uKSBm cm9tIFs8YzAwMzU4ZDg+XSAod2Fybl9zbG93cGF0aF9udWxsKzB4MWMvMHgyNCkKPiBbIDQ2NzYu MjY2MDI4XSBbPGMwMDM1OGQ4Pl0gKHdhcm5fc2xvd3BhdGhfbnVsbCkgZnJvbSBbPGMwMGVmNmI4 Pl0gKHVubGlua19hbm9uX3ZtYXMrMHgyMGMvMHgyMWMpCj4gWyA0Njc2LjM1ODA4MV0gWzxjMDBl ZjZiOD5dICh1bmxpbmtfYW5vbl92bWFzKSBmcm9tIFs8YzAwZTQ2NTg+XSAoZnJlZV9wZ3RhYmxl cysweDc4LzB4Y2MpCj4gWyA0Njc2LjQ0MTA3NF0gWzxjMDBlNDY1OD5dIChmcmVlX3BndGFibGVz KSBmcm9tIFs8YzAwZWM2MjQ+XSAoZXhpdF9tbWFwKzB4ZjAvMHgyMzApCj4gWyA0Njc2LjUyMTAx Nl0gWzxjMDBlYzYyND5dIChleGl0X21tYXApIGZyb20gWzxjMDAzMzEzYz5dIChtbXB1dCsweDUw LzB4ZWMpCj4gWyA0Njc2LjU5MzEwM10gWzxjMDAzMzEzYz5dIChtbXB1dCkgZnJvbSBbPGMwMDM2 NDM0Pl0gKGRvX2V4aXQrMHgyNWMvMHg5ZDApCj4gWyA0Njc2LjY2NTA0NV0gWzxjMDAzNjQzND5d IChkb19leGl0KSBmcm9tIFs8YzAwMzc5ZTg+XSAoZG9fZ3JvdXBfZXhpdCsweDNjLzB4YjApCj4g WyA0Njc2Ljc0MTE2MV0gWzxjMDAzNzllOD5dIChkb19ncm91cF9leGl0KSBmcm9tIFs8YzAwMzdh NmM+XSAoX193YWtlX3VwX3BhcmVudCsweDAvMHgxOCkKPiBbIDQ2NzYuODI0MDA1XSAtLS1bIGVu ZCB0cmFjZSAyMTZkZjhiMjlhNDAxYWE0IF0tLS0KPiBbIDQ2NzYuODc1MTU3XSAtLS0tLS0tLS0t LS1bIGN1dCBoZXJlIF0tLS0tLS0tLS0tLS0KPiBbIDQ2NzYuODgwMDM2XSBrZXJuZWwgQlVHIGF0 IG1tL3JtYXAuYzo0MDYhCj4gWyA0Njc2Ljg4NDE0NF0gSW50ZXJuYWwgZXJyb3I6IE9vcHMgLSBC VUc6IDAgWyMxXSBQUkVFTVBUIEFSTQo+IFsgNDY3Ni44ODk4ODldIE1vZHVsZXMgbGlua2VkIGlu Ogo+IFsgNDY3Ni44OTMxMDddIENQVTogMCBQSUQ6IDI3NTczIENvbW06IHN0cmVzcy1uZy1mb3Jr IFRhaW50ZWQ6IEcgICAgICAgIFcgICAgICAzLjE4LjI0ICMyCj4gWyA0Njc2LjkwMTQwMF0gdGFz azogY2YyMjBjODAgdGk6IGNlMDcyMDAwIHRhc2sudGk6IGNlMDcyMDAwCj4gWyA0Njc2LjkwNzA3 N10gUEMgaXMgYXQgdW5saW5rX2Fub25fdm1hcysweDFkYy8weDIxYwo+IFsgNDY3Ni45MTIwMDdd IExSIGlzIGF0IHVubGlua19hbm9uX3ZtYXMrMHgxMDQvMHgyMWMKPiBbIDQ2NzYuOTE2OTM1XSBw YyA6IFs8YzAwZWY2ODg+XSAgICBsciA6IFs8YzAwZWY1YjA+XSAgICBwc3I6IDIwMGMwMDEzCj4g WyA0Njc2LjkxNjkzNV0gc3AgOiBjZTA3M2U4MCAgaXAgOiAwMDAwMDAwMCAgZnAgOiBjMDljMTNj Ngo+IFsgNDY3Ni45Mjg5NDldIHIxMDogY2UxOWM4YzggIHI5IDogY2UxOWM4ZmMgIHI4IDogY2Ux OWM5MDQKPiBbIDQ2NzYuOTM0NDE5XSByNyA6IGNlMDc4MGU4ICByNiA6IGNlMWNlYWEwICByNSA6 IGMwOWZjNjIwICByNCA6IGNlMWNlYWEwCj4gWyA0Njc2Ljk0MTI1MV0gcjMgOiAwMDAwMDAwNCAg cjIgOiBmZmZmMDAwMSAgcjEgOiAwMDAwMDAwMCAgcjAgOiBjZTBlYjU2OAo+IFsgNDY3Ni45NDgw ODZdIEZsYWdzOiBuekN2ICBJUlFzIG9uICBGSVFzIG9uICBNb2RlIFNWQ18zMiAgSVNBIEFSTSAg U2VnbWVudCB1c2VyCj4gWyA0Njc2Ljk1NTU1Nl0gQ29udHJvbDogMTBjNTM4N2QgIFRhYmxlOiA4 ZTEwMDAxOSAgREFDOiAwMDAwMDAxNQo+IFsgNDY3Ni45NjE1NzFdIFByb2Nlc3Mgc3RyZXNzLW5n LWZvcmsgKHBpZDogMjc1NzMsIHN0YWNrIGxpbWl0ID0gMHhjZTA3MjIzOCkKPiBbIDQ2NzYuOTY4 Njc3XSBTdGFjazogKDB4Y2UwNzNlODAgdG8gMHhjZTA3NDAwMCkKPiBbIDQ2NzYuOTczMjQ2XSAz ZTgwOiAwMDAwMDAwMCBjZTBlYjU2OCBjZjJiODkzYyBjZTE5YzhjOCBjZTFjNzc2OCA0YTVjODAw MCBjZTA3M2VkOCAwMDAwMjAwMAo+IFsgNDY3Ni45ODE4MTFdIDNlYTA6IDAwMDAwMDAwIGNlMDY4 MDQwIGNlMDY4MDg0IGMwMGU0NjU4IDRhNWM4MDAwIGMwMGU2NTM4IDAwMDAwMDAwIGNlMTgzYzkw Cj4gWyA0Njc2Ljk5MDM3Nl0gM2VjMDogY2UwNzNmMDAgY2UwNjgwNDAgMDAwMDAwZjggYzAwMGU4 YTQgMDAwMDAwMDEgYzAwZWM2MjQgY2UwNjgwNDAgMDAwMDAwMDEKPiBbIDQ2NzYuOTk4OTQwXSAz ZWUwOiAwMDAwMDAwMCAwMDAwMDAwMCBmZmZmZmZmZiBiNmY1YTA3MCBmZmZmZmZlYyAwMDAwMDBj MSAwMDAwMDQwMCBjZTE3NTAwMAo+IFsgNDY3Ny4wMDc1MDVdIDNmMDA6IGMwOTk0Yzc4IGNmMjIw YzgwIGNmMjIwYzgwIGNlMDcyMDA4IDAwMDAwMGY4IGNlMDY4MDQwIDAwMDAwMDAwIGNlMDcyMDA4 Cj4gWyA0Njc3LjAxNjA2OV0gM2YyMDogMDAwMDAwZjggY2UwNjgwNDAgMDAwMDAwMDAgY2UwNzIw MDggMDAwMDAwZjggYzAwMzMxM2MgY2YyMjExMDQgY2YyMjBjODAKPiBbIDQ2NzcuMDI0NjM0XSAz ZjQwOiBjZTA3MjAwOCBjMDAzNjQzNCBiZTlkNmVhNCBjMDA2OGE5MCBjZjAwNjk0MCBjZjAwNjk5 YyBjZTA3MjAzMCAwMDAwMDAzNgo+IFsgNDY3Ny4wMzMxOThdIDNmNjA6IGMwOWEyZDk0IDAwMDAw MDAwIGNlMDcyMDAwIGNlMWQyODAwIDAwMDAwMGY4IGMwMDBlOGE0IGNlMDcyMDAwIDAwMDAwMDAw Cj4gWyA0Njc3LjA0MTc2Ml0gM2Y4MDogMDAwNWJiNjggYzAwMzc5ZTggMDAwMDAwMDAgMDAwMDAw MDAgMDAwNWJiNTggMDAwMDAwZjggYzAwMGU4YTQgYzAwMzdhNmMKPiBbIDQ2NzcuMDUwMzI2XSAz ZmEwOiAwMDAwMDAwMCBjMDAwZTcyMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAwMCAwMDAwMDAw MCAwMDAwMDAwMCA0YTcyYzQ2OAo+IFsgNDY3Ny4wNTg4OTBdIDNmYzA6IDAwMDAwMDAwIDAwMDAw MDAwIDAwMDViYjU4IDAwMDAwMGY4IDAwMDAwMDAxIDAwMDAwMDAwIGJlOWQ2ZWQwIDAwMDViYjY4 Cj4gWyA0Njc3LjA2NzQ1NV0gM2ZlMDogNGE2OTVlODAgYmU5ZDZlYTQgMDAwMWIyMWMgNGE2OTVl OTAgNjAwNjAwMTAgMDAwMDAwMDAgMDAwMDAwMDAgMDAwMDAwMDAKPiBbIDQ2NzcuMDc2MDM5XSBb PGMwMGVmNjg4Pl0gKHVubGlua19hbm9uX3ZtYXMpIGZyb20gWzxjMDBlNDY1OD5dIChmcmVlX3Bn dGFibGVzKzB4NzgvMHhjYykKPiBbIDQ2NzcuMDg0NDMwXSBbPGMwMGU0NjU4Pl0gKGZyZWVfcGd0 YWJsZXMpIGZyb20gWzxjMDBlYzYyND5dIChleGl0X21tYXArMHhmMC8weDIzMCkKPiBbIDQ2Nzcu MDkyMjc1XSBbPGMwMGVjNjI0Pl0gKGV4aXRfbW1hcCkgZnJvbSBbPGMwMDMzMTNjPl0gKG1tcHV0 KzB4NTAvMHhlYykKPiBbIDQ2NzcuMDk5MzAyXSBbPGMwMDMzMTNjPl0gKG1tcHV0KSBmcm9tIFs8 YzAwMzY0MzQ+XSAoZG9fZXhpdCsweDI1Yy8weDlkMCkKPiBbIDQ2NzcuMTA2MzI2XSBbPGMwMDM2 NDM0Pl0gKGRvX2V4aXQpIGZyb20gWzxjMDAzNzllOD5dIChkb19ncm91cF9leGl0KzB4M2MvMHhi MCkKPiBbIDQ2NzcuMTEzODk1XSBbPGMwMDM3OWU4Pl0gKGRvX2dyb3VwX2V4aXQpIGZyb20gWzxj MDAzN2E2Yz5dIChfX3dha2VfdXBfcGFyZW50KzB4MC8weDE4KQo+IFsgNDY3Ny4xMjIxODldIENv ZGU6IDBhMDAwMDA5IGUyODIwMDA0IGViZmRjMTg2IGVhZmZmZmIyIChlN2YwMDFmMikKPiBbIDQ2 NzcuMTI4NTk3XSAtLS1bIGVuZCB0cmFjZSAyMTZkZjhiMjlhNDAxYWE1IF0tLS0KPiBbIDQ2Nzcu MTMzNDM1XSBLZXJuZWwgcGFuaWMgLSBub3Qgc3luY2luZzogRmF0YWwgZXhjZXB0aW9uCj4gWyA0 Njc3LjEzODkxMV0gLS0tWyBlbmQgS2VybmVsIHBhbmljIC0gbm90IHN5bmNpbmc6IEZhdGFsIGV4 Y2VwdGlvbgo+IC0tCj4gVG8gdW5zdWJzY3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxp bmUgInVuc3Vic2NyaWJlIGxpbnV4LW9tYXAiIGluCj4gdGhlIGJvZHkgb2YgYSBtZXNzYWdlIHRv IG1ham9yZG9tb0B2Z2VyLmtlcm5lbC5vcmcKPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRw Oi8vdmdlci5rZXJuZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWwKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBs aXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5m cmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 From: tony@atomide.com (Tony Lindgren) Date: Thu, 12 Nov 2015 09:06:59 -0800 Subject: am35xx memory management issues In-Reply-To: <5644AD53.3020303@nomovok.com> References: <5644AD53.3020303@nomovok.com> Message-ID: <20151112170659.GL3218@atomide.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, * Markku Ahvenj?rvi [151112 07:26]: > Hello everyone, > > We have am3517 based board and are experiencing sporadic corruption of mm structures. We've had this problem for months now and haven't really got bottom of it. > > Our board is currently using 3.18.20, but with am3517-evm we've tried pretty much everything between v3.14 and v4.2. So far we've been able to reproduce it on am3517-evm, craneboard and beagleboard (rev. C3 and C4). We have also tested am/dm37x-evm, am335x-evm and beagle bone black, no problems seen. > > Usually kernel it panics in 'kernel BUG at mm/rmap.c:406!', but occasionally there's 'BUG: Bad rss-counter state' prints followed by NULL pointer deref or another BUG statement in mm/slab.c. Sometimes spinlock lockup or already unlocked reported, so it is quite random. > > Reproducing can take from half hour up to few days. We are using stress-ng with options: > stress-ng --cpu 1 --vm 3 --vm-bytes 64M --fork 4 > > In our tests we have noticed that kernel configuration affect frequency of the problem. So far we haven't seen any with omap2plus_defconfig, but with slimmer defconfig like the one we are using for our board we can get it in few hours. We bisected our defconfig and omap2plus_defconfig, but couldn't pinpoint any specific config that would cause these problems: it just got less frequent until stopped occurring. To rule out any bad behaving drivers, we basically disabled everything but serial and it just kept crashing. Adding also LAKML to Cc. Can you check if it starts happening if you leave out other omaps from .config other than CONFIG_ARCH_OMAP3? That's to compile code only for ARMv7 and leave out ARMv6. Also please check if leaving out CONFIG_SMP_ON_UP affects things. > Someone was having quite similar problems back in 2012, but other than that we've found nothing: > http://thread.gmane.org/gmane.linux.ports.arm.omap/78039/ > > Anyone seen this kind of issues before? Any ideas what might cause this? If it starts happening after after leaving out ARMv6 or SMP_ON_UP, it could be a cache bug or missing errata that's needed. Regards, Tony > [ 0.000000] Booting Linux on physical CPU 0x0 > [ 0.000000] Linux version 3.18.24 (markku at thinkpad) (gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11) ) #2 PREEMPT Wed Nov 4 09:51:36 EET 2015 > [ 0.000000] CPU: ARMv7 Processor [411fc087] revision 7 (ARMv7), cr=10c5387d > [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache > [ 0.000000] Machine model: TI AM3517 EVM (AM3517/05 TMDSEVM3517) > [ 0.000000] cma: Reserved 8 MiB at 0x8f400000 > [ 0.000000] Memory policy: Data cache writeback > [ 0.000000] On node 0 totalpages: 65280 > [ 0.000000] free_area_init_node: node 0, pgdat c09be980, node_mem_map cfce7000 > [ 0.000000] Normal zone: 512 pages used for memmap > [ 0.000000] Normal zone: 0 pages reserved > [ 0.000000] Normal zone: 65280 pages, LIFO batch:15 > [ 0.000000] HighMem zone: 1048574 pages exceeds freesize 0 > [ 0.000000] CPU: All CPU(s) started in SVC mode. > [ 0.000000] AM3517 ES1.1 (l2cache sgx neon ) > [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 > [ 0.000000] pcpu-alloc: [0] 0 > [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64768 > [ 0.000000] Kernel command line: console=ttyO2,115200 > [ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes) > [ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes) > [ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes) > [ 0.000000] Memory: 239940K/261120K available (4809K kernel code, 341K rwdata, 1816K rodata, 2996K init, 353K bss, 21180K reserved, 0K highmem) > [ 0.000000] Virtual kernel memory layout: > [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) > [ 0.000000] fixmap : 0xffc00000 - 0xffe00000 (2048 kB) > [ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB) > [ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB) > [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) > [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) > [ 0.000000] .text : 0xc0008000 - 0xc0680984 (6627 kB) > [ 0.000000] .init : 0xc0681000 - 0xc096e000 (2996 kB) > [ 0.000000] .data : 0xc096e000 - 0xc09c354c ( 342 kB) > [ 0.000000] .bss : 0xc09c354c - 0xc0a1b97c ( 354 kB) > [ 0.000000] Preemptible hierarchical RCU implementation. > [ 0.000000] NR_IRQS:16 nr_irqs:16 16 > [ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 4.0) with 96 interrupts > [ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/332/600 MHz > [ 0.000000] OMAP clockevent source: timer2 at 13000000 Hz > [ 0.000023] sched_clock: 32 bits at 13MHz, resolution 76ns, wraps every 330382100403ns > [ 0.000058] OMAP clocksource: timer1 at 13000000 Hz > [ 0.000598] Console: colour dummy device 80x30 > [ 0.000635] Calibrating delay loop... 589.82 BogoMIPS (lpj=294912) > [ 0.008980] pid_max: default: 32768 minimum: 301 > [ 0.009168] Security Framework initialized > [ 0.009264] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) > [ 0.009282] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) > [ 0.010313] CPU: Testing write buffer coherency: ok > [ 0.010936] Setting up static identity map for 0x80496c78 - 0x80496cd0 > [ 0.013878] devtmpfs: initialized > [ 0.016530] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 1 > [ 0.038120] omap_hwmod: mcbsp2_sidetone using broken dt data from mcbsp > [ 0.038751] omap_hwmod: mcbsp3_sidetone using broken dt data from mcbsp > [ 0.082753] omap_hwmod: mcbsp2: cannot be enabled for reset (3) > [ 0.099153] pinctrl core: initialized pinctrl subsystem > [ 0.100179] regulator-dummy: no parameters > [ 0.134359] NET: Registered protocol family 16 > [ 0.137058] DMA: preallocated 256 KiB pool for atomic coherent allocations > [ 0.146611] Reprogramming SDRC clock to 332000000 Hz > [ 0.149695] platform 480c5000.aes: Cannot lookup hwmod 'aes' > [ 0.156050] OMAP GPIO hardware version 2.5 > [ 0.173473] platform 480c3000.sham: Cannot lookup hwmod 'sham' > [ 0.174042] platform 480cb000.smartreflex: Cannot lookup hwmod 'smartreflex_core' > [ 0.181773] omap-gpmc 6e000000.gpmc: GPMC revision 5.0 > [ 0.182409] platform 480ab000.usb_otg_hs: Cannot lookup hwmod 'usb_otg_hs' > [ 0.185485] No ATAGs? > [ 0.185526] hw-breakpoint: debug architecture 0x4 unsupported. > [ 0.187801] OMAP DMA hardware revision 4.0 > [ 0.248481] omap-dma-engine 48056000.dma-controller: OMAP DMA engine driver > [ 0.249924] vmmc_fixed: 3300 mV > [ 0.251923] SCSI subsystem initialized > [ 0.252848] usbcore: registered new interface driver usbfs > [ 0.253127] usbcore: registered new interface driver hub > [ 0.253330] usbcore: registered new device driver usb > [ 0.255867] omap_i2c 48070000.i2c: bus 0 rev3.3 at 400 kHz > [ 0.257215] omap_i2c 48072000.i2c: bus 1 rev3.3 at 400 kHz > [ 0.258330] omap_i2c 48060000.i2c: bus 2 rev3.3 at 400 kHz > [ 0.260815] Switched to clocksource timer1 > [ 0.340661] NET: Registered protocol family 2 > [ 0.342429] TCP established hash table entries: 2048 (order: 1, 8192 bytes) > [ 0.342506] TCP bind hash table entries: 2048 (order: 3, 40960 bytes) > [ 0.342604] TCP: Hash tables configured (established 2048 bind 2048) > [ 0.342743] TCP: reno registered > [ 0.342768] UDP hash table entries: 256 (order: 1, 12288 bytes) > [ 0.342879] UDP-Lite hash table entries: 256 (order: 1, 12288 bytes) > [ 0.343204] NET: Registered protocol family 1 > [ 0.861358] hw perfevents: enabled with armv7_cortex_a8 PMU driver, 5 counters available > [ 0.867219] futex hash table entries: 256 (order: 0, 7168 bytes) > [ 0.870487] VFS: Disk quotas dquot_6.5.2 > [ 0.870589] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes) > [ 0.871381] msgmni has been set to 484 > [ 0.874913] io scheduler noop registered > [ 0.874948] io scheduler deadline registered > [ 0.875029] io scheduler cfq registered (default) > [ 0.877145] pinctrl-single 48002030.pinmux: 284 pins at pa fa002030 size 568 > [ 0.877537] pinctrl-single 48002a00.pinmux: 46 pins at pa fa002a00 size 92 > [ 0.880571] omap_uart 4806a000.serial: no wakeirq for uart0 > [ 0.881110] 4806a000.serial: ttyO0 at MMIO 0x4806a000 (irq = 88, base_baud = 3000000) is a OMAP UART0 > [ 0.882028] omap_uart 4806c000.serial: no wakeirq for uart0 > [ 0.882573] 4806c000.serial: ttyO1 at MMIO 0x4806c000 (irq = 89, base_baud = 3000000) is a OMAP UART1 > [ 0.883521] omap_uart 49020000.serial: no wakeirq for uart0 > [ 0.883691] 49020000.serial: ttyO2 at MMIO 0x49020000 (irq = 90, base_baud = 3000000) is a OMAP UART2 > [ 1.469044] console [ttyO2] enabled > [ 1.492339] brd: module loaded > [ 1.498629] mtdoops: mtd device (mtddev=name/number) must be supplied > [ 1.508182] usbcore: registered new interface driver asix > [ 1.514672] usbcore: registered new interface driver ax88179_178a > [ 1.522285] usbcore: registered new interface driver cdc_ether > [ 1.529444] usbcore: registered new interface driver smsc95xx > [ 1.536463] usbcore: registered new interface driver net1080 > [ 1.543372] usbcore: registered new interface driver cdc_subset > [ 1.550618] usbcore: registered new interface driver cdc_ncm > [ 1.561182] omap_wdt: OMAP Watchdog Timer Rev 0x31: initial timeout 60 sec > [ 1.595009] usbcore: registered new interface driver usbhid > [ 1.601583] usbhid: USB HID core driver > [ 1.607206] oprofile: using arm/armv7 > [ 1.611987] nf_conntrack version 0.5.0 (3877 buckets, 15508 max) > [ 1.619512] TCP: cubic registered > [ 1.623127] Initializing XFRM netlink socket > [ 1.627898] NET: Registered protocol family 17 > [ 1.632751] NET: Registered protocol family 15 > [ 1.637616] Key type dns_resolver registered > [ 1.642382] omap2_set_init_voltage: unable to find boot up OPP for vdd_mpu_iva > [ 1.650025] omap2_set_init_voltage: unable to set vdd_mpu_iva > [ 1.656119] omap2_set_init_voltage: unable to find boot up OPP for vdd_core > [ 1.663479] omap2_set_init_voltage: unable to set vdd_core > [ 1.670110] PM: no software I/O chain control; some wakeups may be lost > [ 1.677499] pm: Failed to request pm_wkup irq > [ 1.682230] ThumbEE CPU extension supported. > [ 1.686920] Registering SWP/SWPB emulation handler > [ 1.697176] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) > [ 1.705634] mmc0: host does not support reading read-only switch, assuming write-enable > [ 1.721911] mmc0: new high speed SDHC card at address 0002 > [ 1.737955] mmcblk0: mmc0:0002 3.81 GiB > [ 1.748383] mmcblk0: p1 p2 p3 > [ 1.756622] Warning: unable to open an initial console. > [ 1.772351] Freeing unused kernel memory: 2996K (c0681000 - c096e000) > [ 2.651221] udevd[643]: starting version 182 > [ 4.101678] random: dd urandom read with 51 bits of entropy available > [ 15.397932] random: nonblocking pool is initialized > [ 382.789857] perf interrupt took too long (2535 > 2500), lowering kernel.perf_event_max_sample_rate to 50000 > [ 755.387860] perf interrupt took too long (5004 > 5000), lowering kernel.perf_event_max_sample_rate to 25000 > [ 4675.751682] ------------[ cut here ]------------ > [ 4675.814115] WARNING: CPU: 0 PID: 27573 at mm/rmap.c:226 unlink_anon_vmas+0x20c/0x21c() > [ 4675.895950] Modules linked in: > [ 4675.927371] CPU: 0 PID: 27573 Comm: stress-ng-fork Not tainted 3.18.24 #2 > [ 4676.007080] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) > [ 4676.089059] [] (show_stack) from [] (warn_slowpath_common+0x70/0x88) > [ 4676.172027] [] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24) > [ 4676.266028] [] (warn_slowpath_null) from [] (unlink_anon_vmas+0x20c/0x21c) > [ 4676.358081] [] (unlink_anon_vmas) from [] (free_pgtables+0x78/0xcc) > [ 4676.441074] [] (free_pgtables) from [] (exit_mmap+0xf0/0x230) > [ 4676.521016] [] (exit_mmap) from [] (mmput+0x50/0xec) > [ 4676.593103] [] (mmput) from [] (do_exit+0x25c/0x9d0) > [ 4676.665045] [] (do_exit) from [] (do_group_exit+0x3c/0xb0) > [ 4676.741161] [] (do_group_exit) from [] (__wake_up_parent+0x0/0x18) > [ 4676.824005] ---[ end trace 216df8b29a401aa4 ]--- > [ 4676.875157] ------------[ cut here ]------------ > [ 4676.880036] kernel BUG at mm/rmap.c:406! > [ 4676.884144] Internal error: Oops - BUG: 0 [#1] PREEMPT ARM > [ 4676.889889] Modules linked in: > [ 4676.893107] CPU: 0 PID: 27573 Comm: stress-ng-fork Tainted: G W 3.18.24 #2 > [ 4676.901400] task: cf220c80 ti: ce072000 task.ti: ce072000 > [ 4676.907077] PC is at unlink_anon_vmas+0x1dc/0x21c > [ 4676.912007] LR is at unlink_anon_vmas+0x104/0x21c > [ 4676.916935] pc : [] lr : [] psr: 200c0013 > [ 4676.916935] sp : ce073e80 ip : 00000000 fp : c09c13c6 > [ 4676.928949] r10: ce19c8c8 r9 : ce19c8fc r8 : ce19c904 > [ 4676.934419] r7 : ce0780e8 r6 : ce1ceaa0 r5 : c09fc620 r4 : ce1ceaa0 > [ 4676.941251] r3 : 00000004 r2 : ffff0001 r1 : 00000000 r0 : ce0eb568 > [ 4676.948086] Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user > [ 4676.955556] Control: 10c5387d Table: 8e100019 DAC: 00000015 > [ 4676.961571] Process stress-ng-fork (pid: 27573, stack limit = 0xce072238) > [ 4676.968677] Stack: (0xce073e80 to 0xce074000) > [ 4676.973246] 3e80: 00000000 ce0eb568 cf2b893c ce19c8c8 ce1c7768 4a5c8000 ce073ed8 00002000 > [ 4676.981811] 3ea0: 00000000 ce068040 ce068084 c00e4658 4a5c8000 c00e6538 00000000 ce183c90 > [ 4676.990376] 3ec0: ce073f00 ce068040 000000f8 c000e8a4 00000001 c00ec624 ce068040 00000001 > [ 4676.998940] 3ee0: 00000000 00000000 ffffffff b6f5a070 ffffffec 000000c1 00000400 ce175000 > [ 4677.007505] 3f00: c0994c78 cf220c80 cf220c80 ce072008 000000f8 ce068040 00000000 ce072008 > [ 4677.016069] 3f20: 000000f8 ce068040 00000000 ce072008 000000f8 c003313c cf221104 cf220c80 > [ 4677.024634] 3f40: ce072008 c0036434 be9d6ea4 c0068a90 cf006940 cf00699c ce072030 00000036 > [ 4677.033198] 3f60: c09a2d94 00000000 ce072000 ce1d2800 000000f8 c000e8a4 ce072000 00000000 > [ 4677.041762] 3f80: 0005bb68 c00379e8 00000000 00000000 0005bb58 000000f8 c000e8a4 c0037a6c > [ 4677.050326] 3fa0: 00000000 c000e720 00000000 00000000 00000000 00000000 00000000 4a72c468 > [ 4677.058890] 3fc0: 00000000 00000000 0005bb58 000000f8 00000001 00000000 be9d6ed0 0005bb68 > [ 4677.067455] 3fe0: 4a695e80 be9d6ea4 0001b21c 4a695e90 60060010 00000000 00000000 00000000 > [ 4677.076039] [] (unlink_anon_vmas) from [] (free_pgtables+0x78/0xcc) > [ 4677.084430] [] (free_pgtables) from [] (exit_mmap+0xf0/0x230) > [ 4677.092275] [] (exit_mmap) from [] (mmput+0x50/0xec) > [ 4677.099302] [] (mmput) from [] (do_exit+0x25c/0x9d0) > [ 4677.106326] [] (do_exit) from [] (do_group_exit+0x3c/0xb0) > [ 4677.113895] [] (do_group_exit) from [] (__wake_up_parent+0x0/0x18) > [ 4677.122189] Code: 0a000009 e2820004 ebfdc186 eaffffb2 (e7f001f2) > [ 4677.128597] ---[ end trace 216df8b29a401aa5 ]--- > [ 4677.133435] Kernel panic - not syncing: Fatal exception > [ 4677.138911] ---[ end Kernel panic - not syncing: Fatal exception > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html