From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= Subject: Re: [PATCH 1/3] amdkfd: Don't clear *kfd2kgd on kfd_module_init Date: Sun, 21 Dec 2014 17:10:05 +0100 Message-ID: <5496F0DD.40903@vodafone.de> References: <1419108374-7020-1-git-send-email-oded.gabbay@amd.com> <1419108374-7020-2-git-send-email-oded.gabbay@amd.com> <5496AEAD.3090003@vodafone.de> <5496B04C.50502@amd.com> <5496BAE0.5090901@vodafone.de> <5496C5EA.7050200@amd.com> <5496CA0F.8000800@amd.com> <5496EDF1.7080106@vodafone.de> <5496EF34.70302@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from pegasos-out.vodafone.de (pegasos-out.vodafone.de [80.84.1.38]) by gabe.freedesktop.org (Postfix) with ESMTP id 6EEEB6E21B for ; Sun, 21 Dec 2014 08:10:45 -0800 (PST) In-Reply-To: <5496EF34.70302@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Oded Gabbay , dri-devel@lists.freedesktop.org Cc: Alexander.Deucher@amd.com, linux-kernel@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org QW0gMjEuMTIuMjAxNCB1bSAxNzowMyBzY2hyaWViIE9kZWQgR2FiYmF5Ogo+Cj4KPiBPbiAxMi8y MS8yMDE0IDA1OjU3IFBNLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+Pj4gVGhlcmUgc2hvdWxk IGJlLCBidXQgd2hlbiB0aGUgbW9kdWxlcyBhcmUgY29tcGlsZWQgaW4sIHRoZXkgYXJlIAo+Pj4g bG9hZGVkIGJhc2VkIG9uCj4+PiBsaW5rIG9yZGVyIG9ubHksIGlmIHRoZXkgYXJlIGluIHRoZSBz YW1lIGdyb3VwLCBhbmQgdGhlIGdyb3VwcyBhcmUgCj4+PiBsb2FkZWQgYnkgYQo+Pj4gcHJlLWRl ZmluZWQgb3JkZXIuCj4+IElzIHRoYXQgcmVhbGx5IHN0aWxsIHVwIHRvIGRhdGU/IEkndmUgc2Vl biBlZmZvcnQgdG8gY2hhbmdlIHRoYXQgCj4+IHNvbWV0aGluZyBsaWtlCj4+IDEwKyB5ZWFycyBh Z28gd2hlbiBSdXN0eSByZXdvcmtlZCB0aGUgbW9kdWxlIHN5c3RlbS4gQW5kIGl0IGlzIAo+PiBj b21taW5nIHVwIG9uIHRoZQo+PiBsaXN0cyBhZ2FpbiBmcm9tIHRpbWUgdG8gdGltZS4KPiBGcm9t IHdoYXQgSSBjYW4gc2VlIGluIHRoZSBNYWtlZmlsZSBydWxlcywgY29kZSBhbmQgZ29vZ2xlLCB5 ZXMsIAo+IHRoYXQncyBzdGlsbCB0aGUgc2l0dWF0aW9uLiBJZiBzb21lb25lIHdpbGwgcHJvdmUg bWUgd3JvbmcgSSB3aWxsIGJlIAo+IG1vcmUgdGhhbiBoYXBweSB0byBjb3JyZWN0IG15IGNvZGUu Cj4+Cj4+PiBJIGRvbid0IHdhbnQgdG8gbW92ZSBpb21tdSBiZWZvcmUgZ3B1LCBzbyBJIGRvbid0 IGhhdmUgYSBzb2x1dGlvbiAKPj4+IGZvciB0aGUKPj4+IG9yZGVyIGJldHdlZW4gYW1ka2ZkIGFu ZCBhbWRfaW9tbXVfdjIuCj4+IFdoeSBub3Q/IFRoYXQncyBzdGlsbCBiZXR0ZXIgdGhhbiBjcmVh dGluZyBhIGtlcm5lbCB3b3JrcXVldWUsIAo+PiBzY2hlZHVsaW5nIG9uZQo+PiB3b3JrIGl0ZW0g b24gaXQsIHJlc2NoZWR1bGluZyB0aGUgdGFzayB1bnRpbCBldmVyeXRoaW5nIGlzIGNvbXBsZXRl ZCAKPj4gYW5kIHlvdSBjYW4KPj4gY29udGludWUuCj4gQmVjYXVzZSBJIGRvbid0IGtub3cgdGhl IGNvbnNlcXVlbmNlcyBvZiBtb3ZpbmcgYW4gZW50aXJlIHN1YnN5c3RlbSBpbiAKPiBmcm9udCBv ZiBhbm90aGVyIG9uZS4gSW4gYWRkaXRpb24sIGV2ZW4gaWYgZXZlcnlvbmUgYWdyZWVzLCBJJ20g cHJldHR5IAo+IHN1cmUgdGhhdCBMaW51cyB3b24ndCBiZSBoYXBweSB0byBkbyB0aGF0IGluIC1y YyBzdGFnZXMuIFNvIG1heWJlIHRoaXMgCj4gaXMgc29tZXRoaW5nIHRvIGNvbnNpZGVyIGZvciAz LjIwIG1lcmdlIHdpbmRvdywgYnV0IEkgd291bGQgc3RpbGwgbGlrZSAKPiB0byBwcm92aWRlIGEg c29sdXRpb24gZm9yIDMuMTkuCgpZZWFoLCB0cnVlIGluZGVlZC4gSG93IGFib3V0IGRlcGVuZGlu ZyBvbiBldmVyeXRoaW5nIGJlaW5nIGNvbXBpbGVkIGFzIAptb2R1bGUgZm9yIDMuMTkgdGhlbj8g U3RpbGwgYmV0dGVyIHRoYW4gaGF2aW5nIHN1Y2ggYSBoYWNrIGluIHRoZSBkcml2ZXIgCmZvciBh cyBhIHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBvbmUgcmVsZWFzZS4KCkNocmlzdGlhbi4KCj4K PiAgICAgT2RlZAo+Pgo+PiBDaHJpc3RpYW4uCj4+Cj4+IEFtIDIxLjEyLjIwMTQgdW0gMTQ6MjQg c2NocmllYiBPZGVkIEdhYmJheToKPj4+Cj4+Pgo+Pj4gT24gMTIvMjEvMjAxNCAwMzowNiBQTSwg T2RlZCBHYWJiYXkgd3JvdGU6Cj4+Pj4KPj4+Pgo+Pj4+IE9uIDEyLzIxLzIwMTQgMDI6MTkgUE0s IENocmlzdGlhbiBLw7ZuaWcgd3JvdGU6Cj4+Pj4+IEFtIDIxLjEyLjIwMTQgdW0gMTI6MzQgc2No cmllYiBPZGVkIEdhYmJheToKPj4+Pj4+Cj4+Pj4+Pgo+Pj4+Pj4gT24gMTIvMjEvMjAxNCAwMToy NyBQTSwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPj4+Pj4+PiBBbSAyMC4xMi4yMDE0IHVtIDIx OjQ2IHNjaHJpZWIgT2RlZCBHYWJiYXk6Cj4+Pj4+Pj4+IFdoZW4gYW1ka2ZkIGFuZCByYWRlb24g YXJlIGNvbXBpbGVkIGluc2lkZSB0aGUga2VybmVsIGltYWdlIAo+Pj4+Pj4+PiAobm90IGFzCj4+ Pj4+Pj4+IG1vZHVsZXMpLAo+Pj4+Pj4+PiByYWRlb24gd2lsbCBsb2FkIGJlZm9yZSBhbWRrZmQg YW5kIHdpbGwgc2V0ICprZmQya2dkIHRvIGl0cyAKPj4+Pj4+Pj4gaW50ZXJmYWNlCj4+Pj4+Pj4+ IHN0cnVjdHVyZS4gVGhlcmVmb3JlLCB3ZSBtdXN0IG5vdCBzZXQgKmtmZDJrZ2QgdG8gTlVMTCB3 aGVuIAo+Pj4+Pj4+PiBhbWRrZmQgaXMgbG9hZGVkCj4+Pj4+Pj4+IGJlY2F1c2UgaXQgd2lsbCBv dmVycmlkZSByYWRlb24ncyBpbml0aWFsaXphdGlvbiBhbmQgY2F1c2UgCj4+Pj4+Pj4+IGtlcm5l bCBCVUcuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFNpZ25lZC1vZmYtYnk6IE9kZWQgR2FiYmF5IDxvZGVk LmdhYmJheUBhbWQuY29tPgo+Pj4+Pj4+Cj4+Pj4+Pj4gWW91IHNob3VsZCBwcm9iYWJseSByYXRo ZXIgZml4IHRoZSBkZXBlbmRlbmN5IGJldHdlZW4gdGhlIHR3byAKPj4+Pj4+PiBtb2R1bGVzIHRv Cj4+Pj4+Pj4gZ2V0IGFuCj4+Pj4+Pj4gZGV0ZXJtaW5lZCBsb2FkIG9yZGVyIGluc3RlYWQgb2Yg ZG9pbmcgc3VjaCBuYXN0eSB3b3JrYXJvdW5kcy4KPj4+Pj4+Pgo+Pj4+Pj4+IENocmlzdGlhbi4K Pj4+Pj4+Cj4+Pj4+PiBUaGUgcHJvYmxlbSBpcyB0aGF0IHdoZW4gbW9kdWxlcyBhcmUgY29tcGls ZWQgaW5zaWRlIHRoZSBrZXJuZWwsIAo+Pj4+Pj4gdGhlcmUgaXMgTk8KPj4+Pj4+IGRldGVybWlu ZWQgbG9hZCBvcmRlciBhbmQgdGhlcmUgaXMgbm8gbWVjaGFuaXNtIHRvIGVuZm9yY2UgdGhhdC4g Cj4+Pj4+PiBJZiB0aGVyZQo+Pj4+Pj4gaXMvd2FzIHN1Y2ggYSBtZWNoYW5pc20sIEkgd291bGQg b2YgY291cnNlIHByZWZlciB0byB1c2UgaXQuCj4+Pj4+Cj4+Pj4+IFRoZXJlIHNob3VsZCBiZSBh biBkZXRlcm1pbmVkIG9yZGVyIGJhc2VkIG9uIHRoZSBzeW1ib2wgdXNlLCAKPj4+Pj4gb3RoZXJ3 aXNlCj4+Pj4+IGluaXRpYWxpemluZyBtb3N0IG9mIHRoZSBrZXJuZWwgbW9kdWxlcyB3b3VsZG4n dCB3b3JrIGFzIGV4cGVjdGVkLiAKPj4+Pj4gRm9yIGV4YW1wbGUKPj4+Pj4gcmFkZW9uIGRlcGVu ZHMgb24gdGhlIGRybSBtb2R1bGUgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHJhZGVvbiBpcyAKPj4+ Pj4gbG9hZGVkLgo+Pj4+IFRoZXJlIHNob3VsZCBiZSwgYnV0IHdoZW4gdGhlIG1vZHVsZXMgYXJl IGNvbXBpbGVkIGluLCB0aGV5IGFyZSAKPj4+PiBsb2FkZWQgYmFzZWQgb24KPj4+PiBsaW5rIG9y ZGVyIG9ubHksIGlmIHRoZXkgYXJlIGluIHRoZSBzYW1lIGdyb3VwLCBhbmQgdGhlIGdyb3VwcyBh cmUgCj4+Pj4gbG9hZGVkIGJ5IGEKPj4+PiBwcmUtZGVmaW5lZCBvcmRlci4KPj4+PiBUaGUgZ3Jv dXBzIGFyZTogcHVyZSwgY29yZSwgcG9zdGNvcmUsIGFyY2gsIHN1YnN5cywgZnMsIGRldmljZSAK Pj4+PiAod2hpY2ggcmVwcmVzZW50cwo+Pj4+IGFsbCB0aGUgbW9kdWxlcykgYW5kIGxhdGUuIFNl ZSBpbml0LmgKPj4+Pgo+Pj4+IFNvIHJhZGVvbiwgYW1ka2ZkIGFuZCBhbWRfaW9tbXVfdjIgYXJl IGFsbCBpbiBkZXZpY2UgZ3JvdXAsIGFuZCBpbiAKPj4+PiB0aGUgZ3JvdXAKPj4+PiB0aGV5IGFy ZSBvcmRlcmVkIGJ5IHRoZWlyIGxpbmsgb3JkZXIuCj4+Pj4KPj4+PiBZZXMsIHJhZGVvbiBsb2Fk cyBhZnRlciBkcm0sIGJlY2F1c2UgZHJtKi5vIGFyZSBiZWZvcmUgcmFkZW9uKi5vIGluIAo+Pj4+ IHRoZQo+Pj4+IE1ha2VmaWxlLiBTZWUKPj4+PiBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVl c3Rpb25zLzU2Njk2NDcvbGludXgtb3JkZXItb2Ytc3RhdGljYWxseS1saW5rZWQtbW9kdWxlLWxv YWRpbmcgCj4+Pj4KPj4+Pgo+Pj4+Cj4+Pgo+Pj4gU28gSSB0cmllZCBtb3ZpbmcgYW1ka2ZkIGlu c2lkZSB0aGUgTWFrZWZpbGUgYmVmb3JlIHJhZGVvbiwgYW5kIHRoYXQgCj4+PiBtYWRlCj4+PiBh bWRrZmQgbG9hZCBiZWZvcmUgcmFkZW9uIGRpZC4gVGhpcyBzb2x2ZXMgbXkgZmlyc3QgcHJvYmxl bSAtIG9yZGVyIAo+Pj4gYmV0d2Vlbgo+Pj4gYW1ka2ZkIGFuZCByYWRlb24uIEhvd2V2ZXIsIGFt ZF9pb21tdV92MiBkb2Vzbid0IGJlbG9uZyB0byB0aGUgZHJtIAo+Pj4gTWFrZWZpbGUsCj4+PiBh bmQgSSBkb24ndCB3YW50IHRvIG1vdmUgaW9tbXUgYmVmb3JlIGdwdSwgc28gSSBkb24ndCBoYXZl IGEgCj4+PiBzb2x1dGlvbiBmb3IgdGhlCj4+PiBvcmRlciBiZXR3ZWVuIGFtZGtmZCBhbmQgYW1k X2lvbW11X3YyLgo+Pj4KPj4+ICAgICBPZGVkCj4+Pj4KPj4+Pgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ IEFjdHVhbGx5LCBJIGRvbid0IHVuZGVyc3RhbmQgd2h5IHRoZSBrZXJuZWwgZG9lc24ndCBlbmZv cmNlIHRoZSAKPj4+Pj4+IG9yZGVyCj4+Pj4+PiBhY2NvcmRpbmcgdG8gdGhlIHVzZSBvZiBleHBv cnRlZCBzeW1ib2xzLCBsaWtlIGl0IGRvZXMgd2l0aCBtb2R1bGVzLgo+Pj4+Pgo+Pj4+PiBZZWFo LCB0aGF0J3MgaW5kZWVkIHJhdGhlciBzdHJhbmdlLiBUaGVyZSBtdXN0IGJlIHNvbWV0aGluZyBp biB0aGUgCj4+Pj4+IGFtZGtmZCBjb2RlCj4+Pj4+IHdoaWNoIGJyb2tlIHRoYXQgc29tZWhvdy4K Pj4+PiBJTU8sIHRoYXQncyBhIGZhci1mZXRjaGVkIGd1ZXNzLiBDb3VsZCB5b3UgcG9pbnQgdG8g c29tZXRoaW5nIG1vcmUgCj4+Pj4gc3BlY2lmaWMgPwo+Pj4+Cj4+Pj4+Cj4+Pj4+IEFzIGZhciBh cyBJIHVuZGVyc3RhbmQgeW91IHRoZSBkZXNpcmVkIGluaXQgb3JkZXIgaXMgcmFkZW9uIGFuZCAK Pj4+Pj4gYW1kX2lvbW11X3YyCj4+Pj4+IGZpcnN0IGFuZCB0aGVuIGFtZGtmZCwgcmlnaHQ/Cj4+ Pj4gQWN0dWFsbHkgbm8uIFRoZSBwcmVmZXJyZWQgb3JkZXIgaXMgYW1kX2lvbW11X3YyLCBhbWRr ZmQgYW5kIHJhZGVvbiAKPj4+PiBsYXN0LiBUaGlzCj4+Pj4gaXMgdGhlIG9yZGVyIHRoYXQgaGFw cGVucyB3aGVuIGFsbCB0aHJlZSBhcmUgYnVpbHQgYXMgbW9kdWxlcy4gTW9yZSAKPj4+PiBhY2N1 cmF0ZWx5LAo+Pj4+IHJhZGVvbiBpbml0cywgYnV0IGl0cyBpbml0IHRyaWdnZXJzIGFtZGtmZCBp bml0LCB3aGljaCB0cmlnZ2VycyAKPj4+PiBhbWRfaW9tbXVfdjIKPj4+PiBpbml0LiBTbyBiZWZv cmUgcmFkZW9uIHJlYWNoZXMgaXRzIHByb2JlIHN0YWdlLCBhbGwgdGhlIG1vZHVsZXMgd2VyZQo+ Pj4+IGluaXRpYWxpemVkLgo+Pj4+Cj4+Pj4gU28gd2hhdCBoYXBwZW5zIHdoZW4geW91IGJvb3Qg d2l0aCByYWRlb24sCj4+Pj4+IGFtZF9pb21tdV92MiBhbmQgYW1ka2ZkIGJsYWNrbGlzdGVkIGZv ciBhdXRvbWF0aWNhbGx5IGxvYWQgYW5kIAo+Pj4+PiBvbmx5IGxvYWQgYW1ka2ZkCj4+Pj4+IG1h bnVhbGx5Pwo+Pj4+IEFzIHNhaWQgYWJvdmUsIHRoYXQncyBvay4KPj4+Pj4KPj4+Pj4+IFRoZXJl IHdpbGwgYWx3YXlzIGJlIGRlcGVuZGVuY2llcyBiZXR3ZWVuIGtnZCAocmFkZW9uKSBhbmQgYW1k a2ZkIAo+Pj4+Pj4gYW5kIGJldHdlZW4KPj4+Pj4+IGFtZGtmZCBhbmQgYW1kX2lvbW11X3YyLiBJ IGRvbid0IHRoaW5rIEkgY2FuIGVsaW1pbmF0ZSB0aG9zZSAKPj4+Pj4+IGRlcGVuZGVuY2llcywg bm90Cj4+Pj4+PiB3aXRob3V0IGEgdmVyeSBjb21wbGV4IHNvbHV0aW9uLiBBbmQgdGhlIGZhY3Qg dGhhdCB0aGlzIGNvbXBsZXggCj4+Pj4+PiBzb2x1dGlvbgo+Pj4+Pj4gb2NjdXJzIG9ubHkgaW4g YSB2ZXJ5IHNwZWNpZmljIHVzZSBjYXNlIChhbGwgbW9kdWxlcyBjb21waWxlZCAKPj4+Pj4+IGlu KSwgbWFrZXMgbWUKPj4+Pj4+IGxlc3MgaW5jbGluZWQgdG8gZG8gdGhhdC4KPj4+Pj4+Cj4+Pj4+ PiBTbyBJIGRvbid0IHNlZSBpdCBhcyBhICJuYXN0eSB3b3JrYXJvdW5kIi4gSSB3b3VsZCBjYWxs IGl0IGp1c3QgYSAKPj4+Pj4+ICJ3b3JrYXJvdW5kIgo+Pj4+Pj4gZm9yIGEgc3BlY2lmaWMgdXNl IGNhc2UsIHdoaWNoIHNob3VsZCBiZSBzb2x2ZWQgYnkgYSBnZW5lcmljIAo+Pj4+Pj4gc29sdXRp b24gdG8gdGhlCj4+Pj4+PiBrZXJuZWwgZW5mb3JjaW5nIGxvYWQgb3JkZXJzLgo+Pj4+Pgo+Pj4+ PiBUaGUgbm9ybWFsIGtlcm5lbCBtb2R1bGUgaGFuZGxpbmcgYWxyZWFkeSBzaG91bGQgcHJvdmlk ZSB0aGUgCj4+Pj4+IGNvcnJlY3QgaW5pdAo+Pj4+PiBvcmRlciwKPj4+Pj4gc28gSSB3b3VsZCBz dGlsbCBjYWxsIHRoaXMgYSByYXRoZXIgbmFzdHkgd29ya2Fyb3VuZCBiZWNhdXNlIHdlIAo+Pj4+ PiBjb3VsZG4ndCBmaW5kCj4+Pj4+IHRoZSB1bmRlcmx5aW5nIHByb2JsZW0uCj4+Pj4gV2VsbCwg dGhlIG5vcm1hbCBrZXJuZWwgbW9kdWxlIGhhbmRsaW5nIGRvZXNuJ3Qgd29yayB3aGVuIGFsbCAK Pj4+PiBtb2R1bGVzIGFyZQo+Pj4+IGNvbXBpbGVkIGluLiBJJ20gbm90IGEgaHVnZSBleHBlcnQg b24gdGhpcyBpc3N1ZSBzbyBJIGhhZCBKb2VyZyAKPj4+PiBSb2VkZWwgaGVscCBtZQo+Pj4+IGFu YWx5emUgdGhpcyAodGhhbmtzIEpvZXJnKSBhbmQgaGUgYWdyZWVkIHRoYXQgdGhlcmUgaXMgbm8g Cj4+Pj4gZW5mb3JjZW1lbnQgb2Ygb3JkZXIKPj4+PiBpbiB0aGlzIGNhc2UuCj4+Pj4KPj4+Pj4K Pj4+Pj4gQ2hyaXN0aWFuLgo+Pj4+Pgo+Pj4+Pj4KPj4+Pj4+ICAgICBPZGVkCj4+Pj4+Pj4KPj4+ Pj4+Pj4gLS0tCj4+Pj4+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX21vZHVs ZS5jIHwgNSArKy0tLQo+Pj4+Pj4+PiAgIDEgZmlsZSBjaGFuZ2VkLCAyIGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGtmZC9rZmRfbW9kdWxlLmMKPj4+Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGtmZC9rZmRfbW9kdWxlLmMKPj4+Pj4+Pj4gaW5kZXggOTVkNWFmMS4uMjM2NTYyZiAx MDA2NDQKPj4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRrZmQva2ZkX21vZHVs ZS5jCj4+Pj4+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1ka2ZkL2tmZF9tb2R1bGUu Ywo+Pj4+Pj4+PiBAQCAtMzQsNyArMzQsNyBAQAo+Pj4+Pj4+PiAgICNkZWZpbmUgS0ZEX0RSSVZF Ul9NSU5PUiAgICA3Cj4+Pj4+Pj4+ICAgI2RlZmluZSBLRkRfRFJJVkVSX1BBVENITEVWRUwgICAg MAo+Pj4+Pj4+PiAtY29uc3Qgc3RydWN0IGtmZDJrZ2RfY2FsbHMgKmtmZDJrZ2Q7Cj4+Pj4+Pj4+ ICtjb25zdCBzdHJ1Y3Qga2ZkMmtnZF9jYWxscyAqa2ZkMmtnZCA9IE5VTEw7Cj4+Pj4+Pj4+ICAg c3RhdGljIGNvbnN0IHN0cnVjdCBrZ2Qya2ZkX2NhbGxzIGtnZDJrZmQgPSB7Cj4+Pj4+Pj4+ICAg ICAgIC5leGl0ICAgICAgICA9IGtnZDJrZmRfZXhpdCwKPj4+Pj4+Pj4gICAgICAgLnByb2JlICAg ICAgICA9IGtnZDJrZmRfcHJvYmUsCj4+Pj4+Pj4+IEBAIC04NCwxNCArODQsMTMgQEAgRVhQT1JU X1NZTUJPTChrZ2Qya2ZkX2luaXQpOwo+Pj4+Pj4+PiAgIHZvaWQga2dkMmtmZF9leGl0KHZvaWQp Cj4+Pj4+Pj4+ICAgewo+Pj4+Pj4+PiArICAgIGtmZDJrZ2QgPSBOVUxMOwo+Pj4+Pj4+PiAgIH0K Pj4+Pj4+Pj4gICBzdGF0aWMgaW50IF9faW5pdCBrZmRfbW9kdWxlX2luaXQodm9pZCkKPj4+Pj4+ Pj4gICB7Cj4+Pj4+Pj4+ICAgICAgIGludCBlcnI7Cj4+Pj4+Pj4+IC0gICAga2ZkMmtnZCA9IE5V TEw7Cj4+Pj4+Pj4+IC0KPj4+Pj4+Pj4gICAgICAgLyogVmVyaWZ5IG1vZHVsZSBwYXJhbWV0ZXJz ICovCj4+Pj4+Pj4+ICAgICAgIGlmICgoc2NoZWRfcG9saWN5IDwgS0ZEX1NDSEVEX1BPTElDWV9I V1MpIHx8Cj4+Pj4+Pj4+ICAgICAgICAgICAoc2NoZWRfcG9saWN5ID4gS0ZEX1NDSEVEX1BPTElD WV9OT19IV1MpKSB7Cj4+Pj4+Pj4KPj4+Pj4KPj4+PiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+Pj4+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPj4+PiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+Pj4gaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+Pgo+PiAtLSAKPj4gVG8gdW5zdWJz Y3JpYmUgZnJvbSB0aGlzIGxpc3Q6IHNlbmQgdGhlIGxpbmUgInVuc3Vic2NyaWJlIAo+PiBsaW51 eC1rZXJuZWwiIGluCj4+IHRoZSBib2R5IG9mIGEgbWVzc2FnZSB0byBtYWpvcmRvbW9Admdlci5r ZXJuZWwub3JnCj4+IE1vcmUgbWFqb3Jkb21vIGluZm8gYXQgaHR0cDovL3ZnZXIua2VybmVsLm9y Zy9tYWpvcmRvbW8taW5mby5odG1sCj4+IFBsZWFzZSByZWFkIHRoZSBGQVEgYXQgIGh0dHA6Ly93 d3cudHV4Lm9yZy9sa21sLwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751781AbaLUQKs (ORCPT ); Sun, 21 Dec 2014 11:10:48 -0500 Received: from pegasos-out.vodafone.de ([80.84.1.38]:38282 "EHLO pegasos-out.vodafone.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751058AbaLUQKq (ORCPT ); Sun, 21 Dec 2014 11:10:46 -0500 X-Spam-Flag: NO X-Spam-Score: 0.412 Authentication-Results: rohrpostix1.prod.vfnet.de (amavisd-new); dkim=softfail (invalid, public key: DNS query timeout for mail._domainkey.vodafone.de) header.i=@vodafone.de X-DKIM: OpenDKIM Filter v2.6.8 pegasos-out.vodafone.de 7AAFD2613A9 Message-ID: <5496F0DD.40903@vodafone.de> Date: Sun, 21 Dec 2014 17:10:05 +0100 From: =?UTF-8?B?Q2hyaXN0aWFuIEvDtm5pZw==?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Oded Gabbay , dri-devel@lists.freedesktop.org CC: Alexander.Deucher@amd.com, linux-kernel@vger.kernel.org, Joerg Roedel Subject: Re: [PATCH 1/3] amdkfd: Don't clear *kfd2kgd on kfd_module_init References: <1419108374-7020-1-git-send-email-oded.gabbay@amd.com> <1419108374-7020-2-git-send-email-oded.gabbay@amd.com> <5496AEAD.3090003@vodafone.de> <5496B04C.50502@amd.com> <5496BAE0.5090901@vodafone.de> <5496C5EA.7050200@amd.com> <5496CA0F.8000800@amd.com> <5496EDF1.7080106@vodafone.de> <5496EF34.70302@amd.com> In-Reply-To: <5496EF34.70302@amd.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 21.12.2014 um 17:03 schrieb Oded Gabbay: > > > On 12/21/2014 05:57 PM, Christian König wrote: >>> There should be, but when the modules are compiled in, they are >>> loaded based on >>> link order only, if they are in the same group, and the groups are >>> loaded by a >>> pre-defined order. >> Is that really still up to date? I've seen effort to change that >> something like >> 10+ years ago when Rusty reworked the module system. And it is >> comming up on the >> lists again from time to time. > From what I can see in the Makefile rules, code and google, yes, > that's still the situation. If someone will prove me wrong I will be > more than happy to correct my code. >> >>> I don't want to move iommu before gpu, so I don't have a solution >>> for the >>> order between amdkfd and amd_iommu_v2. >> Why not? That's still better than creating a kernel workqueue, >> scheduling one >> work item on it, rescheduling the task until everything is completed >> and you can >> continue. > Because I don't know the consequences of moving an entire subsystem in > front of another one. In addition, even if everyone agrees, I'm pretty > sure that Linus won't be happy to do that in -rc stages. So maybe this > is something to consider for 3.20 merge window, but I would still like > to provide a solution for 3.19. Yeah, true indeed. How about depending on everything being compiled as module for 3.19 then? Still better than having such a hack in the driver for as a temporary workaround for one release. Christian. > > Oded >> >> Christian. >> >> Am 21.12.2014 um 14:24 schrieb Oded Gabbay: >>> >>> >>> On 12/21/2014 03:06 PM, Oded Gabbay wrote: >>>> >>>> >>>> On 12/21/2014 02:19 PM, Christian König wrote: >>>>> Am 21.12.2014 um 12:34 schrieb Oded Gabbay: >>>>>> >>>>>> >>>>>> On 12/21/2014 01:27 PM, Christian König wrote: >>>>>>> Am 20.12.2014 um 21:46 schrieb Oded Gabbay: >>>>>>>> When amdkfd and radeon are compiled inside the kernel image >>>>>>>> (not as >>>>>>>> modules), >>>>>>>> radeon will load before amdkfd and will set *kfd2kgd to its >>>>>>>> interface >>>>>>>> structure. Therefore, we must not set *kfd2kgd to NULL when >>>>>>>> amdkfd is loaded >>>>>>>> because it will override radeon's initialization and cause >>>>>>>> kernel BUG. >>>>>>>> >>>>>>>> Signed-off-by: Oded Gabbay >>>>>>> >>>>>>> You should probably rather fix the dependency between the two >>>>>>> modules to >>>>>>> get an >>>>>>> determined load order instead of doing such nasty workarounds. >>>>>>> >>>>>>> Christian. >>>>>> >>>>>> The problem is that when modules are compiled inside the kernel, >>>>>> there is NO >>>>>> determined load order and there is no mechanism to enforce that. >>>>>> If there >>>>>> is/was such a mechanism, I would of course prefer to use it. >>>>> >>>>> There should be an determined order based on the symbol use, >>>>> otherwise >>>>> initializing most of the kernel modules wouldn't work as expected. >>>>> For example >>>>> radeon depends on the drm module must be loaded before radeon is >>>>> loaded. >>>> There should be, but when the modules are compiled in, they are >>>> loaded based on >>>> link order only, if they are in the same group, and the groups are >>>> loaded by a >>>> pre-defined order. >>>> The groups are: pure, core, postcore, arch, subsys, fs, device >>>> (which represents >>>> all the modules) and late. See init.h >>>> >>>> So radeon, amdkfd and amd_iommu_v2 are all in device group, and in >>>> the group >>>> they are ordered by their link order. >>>> >>>> Yes, radeon loads after drm, because drm*.o are before radeon*.o in >>>> the >>>> Makefile. See >>>> http://stackoverflow.com/questions/5669647/linux-order-of-statically-linked-module-loading >>>> >>>> >>>> >>> >>> So I tried moving amdkfd inside the Makefile before radeon, and that >>> made >>> amdkfd load before radeon did. This solves my first problem - order >>> between >>> amdkfd and radeon. However, amd_iommu_v2 doesn't belong to the drm >>> Makefile, >>> and I don't want to move iommu before gpu, so I don't have a >>> solution for the >>> order between amdkfd and amd_iommu_v2. >>> >>> Oded >>>> >>>> >>>>> >>>>>> >>>>>> Actually, I don't understand why the kernel doesn't enforce the >>>>>> order >>>>>> according to the use of exported symbols, like it does with modules. >>>>> >>>>> Yeah, that's indeed rather strange. There must be something in the >>>>> amdkfd code >>>>> which broke that somehow. >>>> IMO, that's a far-fetched guess. Could you point to something more >>>> specific ? >>>> >>>>> >>>>> As far as I understand you the desired init order is radeon and >>>>> amd_iommu_v2 >>>>> first and then amdkfd, right? >>>> Actually no. The preferred order is amd_iommu_v2, amdkfd and radeon >>>> last. This >>>> is the order that happens when all three are built as modules. More >>>> accurately, >>>> radeon inits, but its init triggers amdkfd init, which triggers >>>> amd_iommu_v2 >>>> init. So before radeon reaches its probe stage, all the modules were >>>> initialized. >>>> >>>> So what happens when you boot with radeon, >>>>> amd_iommu_v2 and amdkfd blacklisted for automatically load and >>>>> only load amdkfd >>>>> manually? >>>> As said above, that's ok. >>>>> >>>>>> There will always be dependencies between kgd (radeon) and amdkfd >>>>>> and between >>>>>> amdkfd and amd_iommu_v2. I don't think I can eliminate those >>>>>> dependencies, not >>>>>> without a very complex solution. And the fact that this complex >>>>>> solution >>>>>> occurs only in a very specific use case (all modules compiled >>>>>> in), makes me >>>>>> less inclined to do that. >>>>>> >>>>>> So I don't see it as a "nasty workaround". I would call it just a >>>>>> "workaround" >>>>>> for a specific use case, which should be solved by a generic >>>>>> solution to the >>>>>> kernel enforcing load orders. >>>>> >>>>> The normal kernel module handling already should provide the >>>>> correct init >>>>> order, >>>>> so I would still call this a rather nasty workaround because we >>>>> couldn't find >>>>> the underlying problem. >>>> Well, the normal kernel module handling doesn't work when all >>>> modules are >>>> compiled in. I'm not a huge expert on this issue so I had Joerg >>>> Roedel help me >>>> analyze this (thanks Joerg) and he agreed that there is no >>>> enforcement of order >>>> in this case. >>>> >>>>> >>>>> Christian. >>>>> >>>>>> >>>>>> Oded >>>>>>> >>>>>>>> --- >>>>>>>> drivers/gpu/drm/amd/amdkfd/kfd_module.c | 5 ++--- >>>>>>>> 1 file changed, 2 insertions(+), 3 deletions(-) >>>>>>>> >>>>>>>> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_module.c >>>>>>>> b/drivers/gpu/drm/amd/amdkfd/kfd_module.c >>>>>>>> index 95d5af1..236562f 100644 >>>>>>>> --- a/drivers/gpu/drm/amd/amdkfd/kfd_module.c >>>>>>>> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_module.c >>>>>>>> @@ -34,7 +34,7 @@ >>>>>>>> #define KFD_DRIVER_MINOR 7 >>>>>>>> #define KFD_DRIVER_PATCHLEVEL 0 >>>>>>>> -const struct kfd2kgd_calls *kfd2kgd; >>>>>>>> +const struct kfd2kgd_calls *kfd2kgd = NULL; >>>>>>>> static const struct kgd2kfd_calls kgd2kfd = { >>>>>>>> .exit = kgd2kfd_exit, >>>>>>>> .probe = kgd2kfd_probe, >>>>>>>> @@ -84,14 +84,13 @@ EXPORT_SYMBOL(kgd2kfd_init); >>>>>>>> void kgd2kfd_exit(void) >>>>>>>> { >>>>>>>> + kfd2kgd = NULL; >>>>>>>> } >>>>>>>> static int __init kfd_module_init(void) >>>>>>>> { >>>>>>>> int err; >>>>>>>> - kfd2kgd = NULL; >>>>>>>> - >>>>>>>> /* Verify module parameters */ >>>>>>>> if ((sched_policy < KFD_SCHED_POLICY_HWS) || >>>>>>>> (sched_policy > KFD_SCHED_POLICY_NO_HWS)) { >>>>>>> >>>>> >>>> _______________________________________________ >>>> dri-devel mailing list >>>> dri-devel@lists.freedesktop.org >>>> http://lists.freedesktop.org/mailman/listinfo/dri-devel >> >> -- >> To unsubscribe from this list: send the line "unsubscribe >> linux-kernel" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/