From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?windows-1252?Q?Christian_K=F6nig?= Subject: Re: [PATCH 0/2] Change order of linkage in kernel makefiles for amdkfd Date: Mon, 29 Dec 2014 10:34:32 +0100 Message-ID: <54A12028.7020303@amd.com> References: <1419246435-7050-1-git-send-email-oded.gabbay@amd.com> <1621810.aTt9O4Ghzs@avalon> <549FEB52.4020103@amd.com> <1678486.9ZXZnn5och@avalon> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1678486.9ZXZnn5och@avalon> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Laurent Pinchart , Oded Gabbay Cc: Arnd Bergmann , Geert Uytterhoeven , Greg Kroah-Hartman , Will Deacon , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, iommu@lists.linux-foundation.org, Alexander Deucher List-Id: iommu@lists.linux-foundation.org QW0gMjkuMTIuMjAxNCB1bSAwOToxNiBzY2hyaWViIExhdXJlbnQgUGluY2hhcnQ6Cj4gSGkgT2Rl ZCwKPgo+IE9uIFN1bmRheSAyOCBEZWNlbWJlciAyMDE0IDEzOjM2OjUwIE9kZWQgR2FiYmF5IHdy b3RlOgo+PiBPbiAxMi8yNi8yMDE0IDExOjE5IEFNLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ Pj4gT24gVGh1cnNkYXkgMjUgRGVjZW1iZXIgMjAxNCAxNDoyMDo1OSBUaGllcnJ5IFJlZGluZyB3 cm90ZToKPj4+PiBPbiBNb24sIERlYyAyMiwgMjAxNCBhdCAwMTowNzoxM1BNICswMjAwLCBPZGVk IEdhYmJheSB3cm90ZToKPj4+Pj4gVGhpcyBzbWFsbCBwYXRjaC1zZXQsIHdhcyBjcmVhdGVkIHRv IHNvbHZlIHRoZSBidWcgZGVzY3JpYmVkIGF0Cj4+Pj4+IGh0dHBzOi8vYnVnemlsbGEua2VybmVs Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2NjEgKEtlcm5lbCBwYW5pYyB3aGVuCj4+Pj4+IHRyeWlu ZyB1c2UgYW1ka2ZkIGRyaXZlciBvbiBLYXZlcmkpLiBJdCByZXBsYWNlcyB0aGUgcHJldmlvdXMg cGF0Y2gtc2V0Cj4+Pj4+IGNhbGxlZCBbUEFUQ0ggMC8zXSBVc2Ugd29ya3F1ZXVlIGZvciBkZXZp Y2UgaW5pdCBpbiBhbWRrZmQKPj4+Pj4gKGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvYXJj aGl2ZXMvZHJpLWRldmVsLzIwMTQtRGVjZW1iZXIvMDc0NDAxLmh0Cj4+Pj4+IG1sKQo+Pj4+Pgo+ Pj4+PiBUaGF0IGJ1ZyBhcHBlYXJzIG9ubHkgd2hlbiByYWRlb24sIGFtZGtmZCBhbmQgYW1kX2lv bW11X3YyIGFyZSBjb21waWxlZAo+Pj4+PiBpbnNpZGUgdGhlIGtlcm5lbCAobm90IGFzIG1vZHVs ZXMpLiBJbiB0aGF0IGNhc2UsIHRoZSBjb3JyZWN0IGxvYWRpbmcKPj4+Pj4gb3JkZXIsIGFzIGRl dGVybWluZWQgYnkgdGhlIGV4cG9ydGVkIHN5bWJvbCB1c2VkIGJ5IGVhY2ggZHJpdmVyLCBpcwo+ Pj4+PiBub3QgZW5mb3JjZWQgYW55bW9yZSBhbmQgdGhlIGtlcm5lbCBsb2FkcyB0aGVtIGJhc2Vk IG9uIHdobyB3YXMgbGlua2VkCj4+Pj4+IGZpcnN0LiBUaGF0IG1ha2VzIHJhZGVvbiBsb2FkIGZp cnN0LCBhbWRrZmQgc2Vjb25kIGFuZCBhbWRfaW9tbXVfdjIKPj4+Pj4gdGhpcmQuCj4+Pj4+Cj4+ Pj4+IEJlY2F1c2UgdGhlIGluaXRpYWxpemF0aW9uIG9mIGEgZGV2aWNlIGluIGFtZGtmZCBpcyBp bml0aWF0ZWQgYnkgcmFkZW9uLAo+Pj4+PiBhbmQgY2FuIG9ubHkgYmUgY29tcGxldGVkIGlmIGFt ZGtmZCBhbmQgYW1kX2lvbW11X3YyIHdlcmUgbG9hZGVkIGFuZAo+Pj4+PiBpbml0aWFsaXplZCwg dGhlbiBpbiB0aGUgY2FzZSBtZW50aW9uZWQgYWJvdmUsIHRoaXMgaW5pdGFsaXphdGlvbiBmYWls cwo+Pj4+PiBhbmQgdGhlcmUgaXMgYSBrZXJuZWwgcGFuaWMgYXMgc29tZSBwb2ludGVycyBhcmUg bm90IGluaXRpYWxpemVkIGJ1dAo+Pj4+PiB1c2VkIG5vbnRoZWxlc3MuCj4+Pj4+Cj4+Pj4+IFRv IHNvbHZlIHRoaXMgYnVnLCB0aGlzIHBhdGNoLXNldCBtb3ZlcyBpb21tdS8gYmVmb3JlIGdwdS8g aW4KPj4+Pj4gZHJpdmVycy9NYWtlZmlsZSBhbmQgYWxzbyBtb3ZlcyBhbWRrZmQvIGJlZm9yZSBy YWRlb24vIGluCj4+Pj4+IGRyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZS4KPj4+Pj4KPj4+Pj4gVGhl IHJhdGlvbmFsZSBpcyB0aGF0IGluIGdlbmVyYWwsIEFNRCBHUFUgZGV2aWNlcyBhcmUgZGVwZW5k ZW50IG9uIEFNRAo+Pj4+PiBJT01NVSBjb250cm9sbGVyIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cg dGhlIEdQVSB0byBhY2Nlc3MgYSBwcm9jZXNzJ3MKPj4+Pj4gdmlydHVhbCBtZW1vcnkgYWRkcmVz cyBzcGFjZSwgd2l0aG91dCB0aGUgbmVlZCBmb3IgcGlubmluZyB0aGUgbWVtb3J5Lgo+Pj4+PiBU aGF0J3Mgd2h5IGl0IG1ha2VzIHNlbnNlIHRvIGluaXRpYWxpemUgdGhlIGlvbW11LyBzdWJzeXN0 ZW0gYWhlYWQgb2YKPj4+Pj4gdGhlIGdwdS8gc3Vic3lzdGVtLgo+Pj4+IEkgc3Ryb25nbHkgb2Jq ZWN0IHRvIHRoaXMgcGF0Y2ggc2V0LiBUaGlzIG1ha2VzIGFzc3VtcHRpb25zIGFib3V0IGhvdwo+ Pj4+IHRoZSBidWlsZCBzeXN0ZW0gaW5mbHVlbmNlcyBwcm9iZSBvcmRlci4gVGhhdCdzIGJhZCBi ZWNhdXNlIHNlZW1pbmdseQo+Pj4+IHVucmVsYXRlZCBjaGFuZ2VzIGNvdWxkIGVhc2lseSBicmVh ayB0aGlzIGluIHRoZSBmdXR1cmUuCj4+Pj4KPj4+PiBXZSBhbHJlYWR5IGhhdmUgd2F5cyB0byBz b2x2ZSB0aGlzIGtpbmQgb2YgZGVwZW5kZW5jeSAoZHJpdmVyIHByb2JlCj4+Pj4gZGVmZXJyYWwp LCBhbmQgSSB0aGluayB5b3Ugc2hvdWxkIGJlIHVzaW5nIGl0IHRvIHNvbHZlIHRoaXMgcGFydGlj dWxhcgo+Pj4+IHByb2JsZW0gcmF0aGVyIHRoYW4gc29tZSBsaW5raW5nIG9yZGVyIGhhY2suCj4+ PiBXaGlsZSBJIGFncmVlIHdpdGggeW91IHRoYXQgcHJvYmUgZGVmZXJyYWwgaXMgdGhlIHdheSB0 byBnbywgSSBiZWxpZXZlCj4+PiBsaW5rYWdlIG9yZGVyaW5nIGNhbiBzdGlsbCBiZSB1c2VkIGFz IGFuIG9wdGltaXphdGlvbiB0byBhdm9pZCBkZWZlcnJpbmcKPj4+IHByb2JlIGluIHRoZSBtb3N0 IGNvbW1vbiBjYXNlcy4gSSdtIHRodXMgbm90IG9wcG9zZWQgdG8gbW92aW5nIGlvbW11Lwo+Pj4g ZWFybGllciBpbiBsaW5rIG9yZGVyIChwcm92aWRlZCB3ZSBjYW4gcHJvcGVybHkgdGVzdCBmb3Ig c2lkZSBlZmZlY3RzLCBhcwo+Pj4gdGhlIGp1bXAgaXMgcHJldHR5IGxhcmdlKSwgYnV0IG5vdCBh cyBhIHJlcGxhY2VtZW50IGZvciBwcm9iZSBkZWZlcnJhbC4KPj4gTXkgdGhvdWdodHMgZXhhY3Rs eS4gSWYgdGhpcyB3YXMgc29tZSBleHRyZW1lIHVzZSBjYXNlLCB0aGFuIGl0IHdvdWxkIGJlCj4+ IGp1c3RpZmllZCB0byBzb2x2ZSBpdCB3aXRoIHByb2JlIGRlZmVycmFsLiBCdXQgSSB0aGluayB0 aGF0IGZvciBtb3N0IGNvbW1vbgo+PiBjYXNlcywgR1BVIGFyZSBkZXBlbmRlbnQgb24gSU9NTVUg YW5kICpub3QqIHZpY2UtdmVyc2EuCgpGaXhpbmcgdGhpcyB0aHJvdWdoIGRlZmVycmVkIHByb2Jp bmcgc291bmRzIGxpa2UgdGhlIGNvcnJlY3QgbG9uZyB0ZXJtIApzb2x1dGlvbiB0byBtZSBhcyB3 ZWxsLgoKQnV0IHdoYXQgVGhpZXJyeSBpcyByZWZlcnJpbmcgdG8gaGVyZSBpcyBwcm9iYWJseSB0 aGUgYXBwcm9hY2ggb2YgCnJldHVybmluZyAtRUFHQUlOIGZyb20gdGhlIHByb2JlIG1ldGhvZCAo YXQgbGVhc3QgdGhhdCB3YXMgdGhlIGxhc3QgCnN0YXR1cyB3aGVuIEkgbG9va2VkIGludG8gdGhp cykuCgpUaGUgcHJvYmxlbSB3aXRoIHRoaXMgYXBwcm9hY2ggaXMgdGhlIGludGVyZmFjZSBkZXNp Z24gYmV0d2VlbiByYWRlb24gCmFuZCBhbWRrZmQuIGFtZGtmZCBzaW1wbHkgZG9lc24ndCBoYXZl IGEgcHJvYmUgbWV0aG9kIHdoaWNoIGdldHMgY2FsbGVkIAp3aGVuIHRoZSBoYXJkd2FyZSBpcyBk ZXRlY3RlZCBhbmQgY2FuIHJldHVybiAtRUFHQUlOLiBJbnN0ZWFkIGFtZGtmZCBpcyAKY2FsbGVk IGJ5IHJhZGVvbiBhZnRlciBoYXJkd2FyZSBpbml0aWFsaXphdGlvbiB3aGVuIGl0IGlzIHdheSB0 byBsYXRlIApmb3Igc3VjaCBhIHRoaW5nLgoKPj4KPj4gQlRXLCBteSBmaXJzdCB0cnkgYXQgc29s dmluZyB0aGlzIHdhcyB0byB1c2UgcHJvYmUgZGVmZXJyYWwgKHVzaW5nCj4+IHdvcmtxdWV1ZSks IGJ1dCB0aGUgZmVlZGJhY2sgSSBnb3QgZnJvbSBDaHJpc3RpYW4gYW5kIERhdmUgd2FzIHRoYXQg bW92aW5nCj4+IGlvbW11LyBsaW5rYWdlIGJlZm9yZSBncHUvIHdhcyBhIG11Y2ggbW9yZSBzaW1w bGVyIHNvbHV0aW9uLgo+IFRvIGNsYXJpZnkgbXkgcG9zaXRpb24sIEkgYmVsaWV2ZSBjaGFuZ2lu ZyB0aGUgbGluayBvcmRlciBjYW4gYmUgYSB3b3J0aHdoaWxlCj4gb3B0aW1pemF0aW9uLCBidXQg SSdtIHVuY2VydGFpbiBhYm91dCB0aGUgbG9uZyB0ZXJtIHZpYWJpbGl0eSBvZiB0aGF0IGNoYW5n ZQo+IGFzIGEgZml4LiBQcm9iZSBkZWZlcnJhbCBoYXMgYmVlbiBpbnRyb2R1Y2VkIGJlY2F1c2Ug bm90IGFsbCBwcm9iZSBvcmRlcmluZwo+IGlzc3VlcyBjYW4gYmUgZml4ZWQgdGhyb3VnaCBsaW5r IG9yZGVyaW5nLCBzbyB3ZSBzaG91bGQgZml4IHRoZSBwcm9ibGVtCj4gcHJvcGVybHkuCj4KPiBU aGlzIGJlaW5nIHNhaWQsIGlmIG1vZGlmeWluZyB0aGUgbGluayBvcmRlciBjYW4gaGVscCBmb3Ig bm93IHdpdGhvdXQKPiBpbnRyb2R1Y2luZyBuZWdhdGl2ZSBzaWRlIGVmZmVjdHMsIGl0IHdvdWxk IG9ubHkgcG9zdHBvbmUgdGhlIHJlYWwgZml4LCBzbyBJJ20KPiBub3Qgb3Bwb3NlZCB0byBpdC4K ClllYWgsIHRoYXQgc291bmRzIGxpa2UgdGhlIHJpZ2h0IGFwcHJvYWNoIHRvIG1lIGFzIHdlbGwu IEluIGdlbmVyYWwgSSAKd291bGQgcHJlZmVyIHRoYXQgbW9kdWxlcyBjb21waWxlZCBpbnRvIHRo ZSBrZXJuZWwgbG9hZCBieSB0aGUgb3JkZXIgb2YgCnRoZWlyIHN5bWJvbCBkZXBlbmRlbmN5IGp1 c3QgbGlrZSBzdGFuZGFsb25lIG1vZHVsZXMgZG8uCgpUaGF0J3Mgd2hhdCBSdXN0eSBwcm9wb3Nl ZCBtb3JlIHRoYW4gMTAgeWVhcnMgYWdvIHdoZW4gaGUgcmV3b3JrZWQgdGhlIAptb2R1bGUgc3lz dGVtIGFuZCBJJ20gYWN0dWFsbHkgbm90IHN1cmUgd2h5IGl0IHdhcyBuZXZlciBkb25lIHRoaXMg d2F5LiAKSSBjYW4gb25seSBmaW5kIHRoZSBpbml0aWFsIHBhdGNoIHRvIGRvIHNvIGluIHRoZSBt YWlsIGhpc3RvcnksIGJ1dCBub3QgCndoeSBpdCB3YXMgcmVqZWN0ZWQuCgpSZWdhcmRzLApDaHJp c3RpYW4uCgo+Cj4+IEluIGFkZGl0aW9uLCBMaW51cyBzYWlkIGhlIGRvZXNuJ3Qgb2JqZWN0IHRv IHRoaXMgImJhbmQtYWlkIi4gU2VlOgo+PiBodHRwczovL2xrbWwub3JnL2xrbWwvMjAxNC8xMi8y NS8xNTIKPj4KPj4gCU9kZWQKPj4KPj4+PiBDb2luY2lkZW50YWxseSB0aGVyZSdzIGEgc2VwYXJh dGUgdGhyZWFkIGN1cnJlbnRseSBnb2luZyBvbiB0aGF0IGRlYWxzCj4+Pj4gd2l0aCBJT01NVXMg YW5kIHByb2JlIG9yZGVyLiBUaGUgc29sdXRpb24gYmVpbmcgd29ya2VkIG9uIGlzIGN1cnJlbnRs eQo+Pj4+IHNvbWV3aGF0IEFSTS1zcGVjaWZpYywgc28gYWRkaW5nIGEgY291cGxlIG9mIGZvbGtz IGZvciB2aXNpYmlsaXR5LiBJdAo+Pj4+IGxvb2tzIGxpa2Ugd2UncmUgZ29pbmcgdG8gbmVlZCBz b21ldGhpbmcgbW9yZSBnZW5lcmljIHNpbmNlIHRoaXMgaXMgYQo+Pj4+IHByb2JsZW0gdGhhdCBl dmVuIHRoZSAiYmlnIiBhcmNoaXRlY3R1cmVzIG5lZWQgdG8gc29sdmUuCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751650AbaL2LJ3 (ORCPT ); Mon, 29 Dec 2014 06:09:29 -0500 Received: from mail-bn1bon0113.outbound.protection.outlook.com ([157.56.111.113]:3584 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751114AbaL2LJ1 (ORCPT ); Mon, 29 Dec 2014 06:09:27 -0500 X-WSS-ID: 0NHC7Y4-07-0NT-02 X-M-MSG: Message-ID: <54A12028.7020303@amd.com> Date: Mon, 29 Dec 2014 10:34:32 +0100 From: =?windows-1252?Q?Christian_K=F6nig?= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 MIME-Version: 1.0 To: Laurent Pinchart , Oded Gabbay CC: Thierry Reding , David Airlie , Greg Kroah-Hartman , "Geert Uytterhoeven" , Dana Elifaz , , , "Alexander Deucher" , , Arnd Bergmann , Will Deacon Subject: Re: [PATCH 0/2] Change order of linkage in kernel makefiles for amdkfd References: <1419246435-7050-1-git-send-email-oded.gabbay@amd.com> <1621810.aTt9O4Ghzs@avalon> <549FEB52.4020103@amd.com> <1678486.9ZXZnn5och@avalon> In-Reply-To: <1678486.9ZXZnn5och@avalon> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.224.155.179] X-EOPAttributedMessage: 0 Authentication-Results: spf=none (sender IP is 165.204.84.221) smtp.mailfrom=Christian.Koenig@amd.com; X-Forefront-Antispam-Report: CIP:165.204.84.221;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(428002)(51444003)(199003)(51704005)(189002)(24454002)(479174004)(377454003)(20776003)(77096005)(2950100001)(50986999)(15975445007)(120916001)(77156002)(87266999)(54356999)(93886004)(23746002)(80316001)(50466002)(76176999)(4396001)(59896002)(64706001)(46102003)(21056001)(47776003)(106466001)(107046002)(97736003)(86362001)(64126003)(92566001)(62966003)(83506001)(65806001)(87936001)(68736005)(65816999)(99396003)(101416001)(84676001)(36756003)(31966008)(33656002)(19580395003)(129583001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN1PR02MB198;H:atltwp01.amd.com;FPR:;SPF:None;MLV:sfv;PTR:InfoDomainNonexistent;A:1;MX:1;LANG:en; X-Microsoft-Antispam: UriScan:; X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:;SRVR:BN1PR02MB198; X-Forefront-PRVS: 0440AC9990 X-OriginatorOrg: amd4.onmicrosoft.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Dec 2014 09:34:54.1920 (UTC) X-MS-Exchange-CrossTenant-Id: fde4dada-be84-483f-92cc-e026cbee8e96 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=fde4dada-be84-483f-92cc-e026cbee8e96;Ip=[165.204.84.221] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN1PR02MB198 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 29.12.2014 um 09:16 schrieb Laurent Pinchart: > Hi Oded, > > On Sunday 28 December 2014 13:36:50 Oded Gabbay wrote: >> On 12/26/2014 11:19 AM, Laurent Pinchart wrote: >>> On Thursday 25 December 2014 14:20:59 Thierry Reding wrote: >>>> On Mon, Dec 22, 2014 at 01:07:13PM +0200, Oded Gabbay wrote: >>>>> This small patch-set, was created to solve the bug described at >>>>> https://bugzilla.kernel.org/show_bug.cgi?id=89661 (Kernel panic when >>>>> trying use amdkfd driver on Kaveri). It replaces the previous patch-set >>>>> called [PATCH 0/3] Use workqueue for device init in amdkfd >>>>> (http://lists.freedesktop.org/archives/dri-devel/2014-December/074401.ht >>>>> ml) >>>>> >>>>> That bug appears only when radeon, amdkfd and amd_iommu_v2 are compiled >>>>> inside the kernel (not as modules). In that case, the correct loading >>>>> order, as determined by the exported symbol used by each driver, is >>>>> not enforced anymore and the kernel loads them based on who was linked >>>>> first. That makes radeon load first, amdkfd second and amd_iommu_v2 >>>>> third. >>>>> >>>>> Because the initialization of a device in amdkfd is initiated by radeon, >>>>> and can only be completed if amdkfd and amd_iommu_v2 were loaded and >>>>> initialized, then in the case mentioned above, this initalization fails >>>>> and there is a kernel panic as some pointers are not initialized but >>>>> used nontheless. >>>>> >>>>> To solve this bug, this patch-set moves iommu/ before gpu/ in >>>>> drivers/Makefile and also moves amdkfd/ before radeon/ in >>>>> drivers/gpu/drm/Makefile. >>>>> >>>>> The rationale is that in general, AMD GPU devices are dependent on AMD >>>>> IOMMU controller functionality to allow the GPU to access a process's >>>>> virtual memory address space, without the need for pinning the memory. >>>>> That's why it makes sense to initialize the iommu/ subsystem ahead of >>>>> the gpu/ subsystem. >>>> I strongly object to this patch set. This makes assumptions about how >>>> the build system influences probe order. That's bad because seemingly >>>> unrelated changes could easily break this in the future. >>>> >>>> We already have ways to solve this kind of dependency (driver probe >>>> deferral), and I think you should be using it to solve this particular >>>> problem rather than some linking order hack. >>> While I agree with you that probe deferral is the way to go, I believe >>> linkage ordering can still be used as an optimization to avoid deferring >>> probe in the most common cases. I'm thus not opposed to moving iommu/ >>> earlier in link order (provided we can properly test for side effects, as >>> the jump is pretty large), but not as a replacement for probe deferral. >> My thoughts exactly. If this was some extreme use case, than it would be >> justified to solve it with probe deferral. But I think that for most common >> cases, GPU are dependent on IOMMU and *not* vice-versa. Fixing this through deferred probing sounds like the correct long term solution to me as well. But what Thierry is referring to here is probably the approach of returning -EAGAIN from the probe method (at least that was the last status when I looked into this). The problem with this approach is the interface design between radeon and amdkfd. amdkfd simply doesn't have a probe method which gets called when the hardware is detected and can return -EAGAIN. Instead amdkfd is called by radeon after hardware initialization when it is way to late for such a thing. >> >> BTW, my first try at solving this was to use probe deferral (using >> workqueue), but the feedback I got from Christian and Dave was that moving >> iommu/ linkage before gpu/ was a much more simpler solution. > To clarify my position, I believe changing the link order can be a worthwhile > optimization, but I'm uncertain about the long term viability of that change > as a fix. Probe deferral has been introduced because not all probe ordering > issues can be fixed through link ordering, so we should fix the problem > properly. > > This being said, if modifying the link order can help for now without > introducing negative side effects, it would only postpone the real fix, so I'm > not opposed to it. Yeah, that sounds like the right approach to me as well. In general I would prefer that modules compiled into the kernel load by the order of their symbol dependency just like standalone modules do. That's what Rusty proposed more than 10 years ago when he reworked the module system and I'm actually not sure why it was never done this way. I can only find the initial patch to do so in the mail history, but not why it was rejected. Regards, Christian. > >> In addition, Linus said he doesn't object to this "band-aid". See: >> https://lkml.org/lkml/2014/12/25/152 >> >> Oded >> >>>> Coincidentally there's a separate thread currently going on that deals >>>> with IOMMUs and probe order. The solution being worked on is currently >>>> somewhat ARM-specific, so adding a couple of folks for visibility. It >>>> looks like we're going to need something more generic since this is a >>>> problem that even the "big" architectures need to solve.