From mboxrd@z Thu Jan 1 00:00:00 1970 From: holler@ahsoftware.de (Alexander Holler) Date: Mon, 14 Sep 2015 21:53:13 +0200 Subject: [PATCH 0/2] deps: parallel initialization of (device-)drivers In-Reply-To: <1441823725-8869-1-git-send-email-holler@ahsoftware.de> References: <55E961DA.5040009@ahsoftware.de> <1441823725-8869-1-git-send-email-holler@ahsoftware.de> Message-ID: <55F725A9.8020003@ahsoftware.de> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am 09.09.2015 um 20:35 schrieb Alexander Holler: > Hello, > > as already mentioned, I've implemented the stuff to initialize drivers > in parallel. What follows are two patches to be used on top of my > already posted series (for 4.2) which implements annotated initcalls > and DT based dependencies. > > But be warned: many drivers which are in the same initcall level > still depend on the link order given by the Makefile and directoy > (-name) and therefor will fail. That means without moving them to other > initcall levels or explicit dependencies (which are a TODO) for these > drivers, the whole stuff currently works only for some configurations > and you likely will need to add several patches for your board. Another update: I've now did what I've described as TODO above. That means I have everything working to parallelize the (whole) init-system regardless the arch or DT/ACPI or whatever. Cleaning up the new stuff to post it here will need some time. And collecting the _mandatory_ dependencies to parallelize all static linked drivers (from all initcall levels) will need much more time. Even on systems where most stuff is build as a module, the list of drivers initialized through initcalls is usually several dozens or even hundreds. You might use 'grep initcall_ System.map | wc -l' to get an idea. Therefor I don't know when I will post cleaned up patches and/or some benchmark times. The interest seems rather low. Regards, Alexander Holler From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Holler Subject: Re: [PATCH 0/2] deps: parallel initialization of (device-)drivers Date: Mon, 14 Sep 2015 21:53:13 +0200 Message-ID: <55F725A9.8020003@ahsoftware.de> References: <55E961DA.5040009@ahsoftware.de> <1441823725-8869-1-git-send-email-holler@ahsoftware.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1441823725-8869-1-git-send-email-holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org> Sender: devicetree-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Greg KH , Russel King , Andrew Morton , Grant Likely , Tomeu Vizoso List-Id: devicetree@vger.kernel.org Am 09.09.2015 um 20:35 schrieb Alexander Holler: > Hello, > > as already mentioned, I've implemented the stuff to initialize drivers > in parallel. What follows are two patches to be used on top of my > already posted series (for 4.2) which implements annotated initcalls > and DT based dependencies. > > But be warned: many drivers which are in the same initcall level > still depend on the link order given by the Makefile and directoy > (-name) and therefor will fail. That means without moving them to other > initcall levels or explicit dependencies (which are a TODO) for these > drivers, the whole stuff currently works only for some configurations > and you likely will need to add several patches for your board. Another update: I've now did what I've described as TODO above. That means I have everything working to parallelize the (whole) init-system regardless the arch or DT/ACPI or whatever. Cleaning up the new stuff to post it here will need some time. And collecting the _mandatory_ dependencies to parallelize all static linked drivers (from all initcall levels) will need much more time. Even on systems where most stuff is build as a module, the list of drivers initialized through initcalls is usually several dozens or even hundreds. You might use 'grep initcall_ System.map | wc -l' to get an idea. Therefor I don't know when I will post cleaned up patches and/or some benchmark times. The interest seems rather low. Regards, Alexander Holler -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751839AbbINTx2 (ORCPT ); Mon, 14 Sep 2015 15:53:28 -0400 Received: from h1446028.stratoserver.net ([85.214.92.142]:40750 "EHLO mail.ahsoftware.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751127AbbINTx0 (ORCPT ); Mon, 14 Sep 2015 15:53:26 -0400 Subject: Re: [PATCH 0/2] deps: parallel initialization of (device-)drivers To: linux-kernel@vger.kernel.org References: <55E961DA.5040009@ahsoftware.de> <1441823725-8869-1-git-send-email-holler@ahsoftware.de> Cc: linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, Greg KH , Russel King , Andrew Morton , Grant Likely , Tomeu Vizoso From: Alexander Holler Message-ID: <55F725A9.8020003@ahsoftware.de> Date: Mon, 14 Sep 2015 21:53:13 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.1.0 MIME-Version: 1.0 In-Reply-To: <1441823725-8869-1-git-send-email-holler@ahsoftware.de> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am 09.09.2015 um 20:35 schrieb Alexander Holler: > Hello, > > as already mentioned, I've implemented the stuff to initialize drivers > in parallel. What follows are two patches to be used on top of my > already posted series (for 4.2) which implements annotated initcalls > and DT based dependencies. > > But be warned: many drivers which are in the same initcall level > still depend on the link order given by the Makefile and directoy > (-name) and therefor will fail. That means without moving them to other > initcall levels or explicit dependencies (which are a TODO) for these > drivers, the whole stuff currently works only for some configurations > and you likely will need to add several patches for your board. Another update: I've now did what I've described as TODO above. That means I have everything working to parallelize the (whole) init-system regardless the arch or DT/ACPI or whatever. Cleaning up the new stuff to post it here will need some time. And collecting the _mandatory_ dependencies to parallelize all static linked drivers (from all initcall levels) will need much more time. Even on systems where most stuff is build as a module, the list of drivers initialized through initcalls is usually several dozens or even hundreds. You might use 'grep initcall_ System.map | wc -l' to get an idea. Therefor I don't know when I will post cleaned up patches and/or some benchmark times. The interest seems rather low. Regards, Alexander Holler