From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id DE96171 for ; Tue, 9 Aug 2016 09:57:30 +0000 (UTC) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6D18E112 for ; Tue, 9 Aug 2016 09:57:30 +0000 (UTC) Date: Tue, 9 Aug 2016 11:57:28 +0200 From: =?iso-8859-1?Q?J=F6rg_R=F6del?= To: "Luis R. Rodriguez" Message-ID: <20160809095728.GE30880@suse.de> References: <20160727172636.GM11806@sirena.org.uk> <20160727175829.GG5537@wotan.suse.de> <579A7DFD.60305@metafoo.de> <98eb563b-5d62-74df-692a-f2aa4f7b07b8@xs4all.nl> <20160729111303.GA10376@sirena.org.uk> <20160801190309.GX3296@wotan.suse.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20160801190309.GX3296@wotan.suse.de> Cc: Oded Gabbay , ksummit-discuss@lists.linuxfoundation.org, Mauro Carvalho Chehab , "vegard.nossum@gmail.com" , "rafael.j.wysocki" , Cristina Moraru , Roberto Di Cosmo , Valentin Rothberg , Stefano Zacchiroli , Marek Szyprowski Subject: Re: [Ksummit-discuss] [TECH TOPIC] Addressing complex dependencies and semantics (v2) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Mon, Aug 01, 2016 at 09:03:09PM +0200, Luis R. Rodriguez wrote: > Another piece of code that deals with complex dependencies I've recently > ventured into was the x86 IOMMU stuff. The complexities here are both at > the built-in init level and also later at probe. Yeah, everything is fine when both, AMD-KFD and the IOMMUv2 driver are built as modules, as the order of loading these modules is preserved by symbol dependencies. But when they are built-in these modules also need to be initialized in the right order, otherwise the KFD-driver will call into an uninialized IOMMU driver and crashes the system. Long-term this will be fixed by always build-in the IOMMU-parts (when they are merged with the Intel-SVM support), but in general not being able to express dependencies between build-in modules remains to be a problem. I have spent spent some thoughts on how this could be solved, and one idea I had was to rework the way build-in modules work. If they are not linked into the kernel at compile-time, but at boot-time, this problem would be solved. On the other hand this slows down boot (is this important when distro-kernels build everything as modules anyway?) and probably doesn't solve the dependency problems for power-management or elsewhere in kernel. So I'd like to participate if this is going to be discussed. Thanks, Joerg