Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1618996iog; Thu, 16 Jun 2022 10:01:33 -0700 (PDT) X-Google-Smtp-Source: AGRyM1v8YN8fBinE1dl2bZkKuNCoMtr8ZSbLRyMDMu6aCfcZywbXZkf30jKy2vKjlPgsN8rtbRid X-Received: by 2002:a17:902:d2c7:b0:162:4f0a:c790 with SMTP id n7-20020a170902d2c700b001624f0ac790mr5143819plc.110.1655398893253; Thu, 16 Jun 2022 10:01:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1655398893; cv=none; d=google.com; s=arc-20160816; b=mlUUyrOMpysaIk5wld4xaVciOV+pIHp7Xk+OdtGhzlfGuKLeYx+bXB9poUi/op98h/ qhwwo30fqNSjH060lgkCnEp5c7QZBUUcSDDA4WAJxb1do/JhvvCyatelLARAhHwBVqdB 61U5ApmpVpjHTUdBtz+3238xoIGlzFCOKm3G+YQYxZVcKrVA9994CRloUAg+fhjxzQ2Z Y7p7Wx3dYFxaMGiho9lopeIQWLvXsd6xprh6/rhPWRhBR32WfYwCAtloEBDeJxrtM+wL /7v7XybvCn/lD5GOM/qUtGUBEn7xk5ClBDM/fPmmijhsYdUPDXo80kF49ykeLTHzKjPJ eyWQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=2nZIbA02OXNIyOJXo7QF5v3mB7RiS92/ilxeBqv2VfA=; b=vYyAtBgamrzQj7R2pBp0BIWhQ+StzLwEWPbC/F7RnrKjQkkO0A978nEWSmSpMrOovs m8N8OW0IH6raLxGcfXfjGgwWmMDp+c1nqQjKTIwncdpMkwuVnTdusUonUNyZnqucdnfT LxU6WXAP9lk6qB35MALnEXp42J4JJxe0FOeEaaIjzm7ZxQ/BqLtxqeDpXQoniKcoWnL1 cBZj+4zwQzVet7hzlsc9oUPTvb6Hu7rU82A4CkWTQ7Vkyk8J9gJbykVy6a1DG7FtDXe2 M4ViApYvPJDHreOGMoxTKTVZLJL5EcXjOHyZetHZR9PZGoNtSie7kdue7mxKZZ+wReTd 27AA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=AM9RhXBt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id jj5-20020a170903048500b0015a91674899si2763346plb.279.2022.06.16.10.01.18; Thu, 16 Jun 2022 10:01:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=AM9RhXBt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234231AbiFPQqq (ORCPT + 99 others); Thu, 16 Jun 2022 12:46:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47616 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231207AbiFPQqe (ORCPT ); Thu, 16 Jun 2022 12:46:34 -0400 Received: from mail-io1-xd35.google.com (mail-io1-xd35.google.com [IPv6:2607:f8b0:4864:20::d35]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1B3FF50E3B; Thu, 16 Jun 2022 09:45:30 -0700 (PDT) Received: by mail-io1-xd35.google.com with SMTP id n11so2057488iod.4; Thu, 16 Jun 2022 09:45:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=message-id:date:mime-version:user-agent:subject:content-language:to :cc:references:from:in-reply-to:content-transfer-encoding; bh=2nZIbA02OXNIyOJXo7QF5v3mB7RiS92/ilxeBqv2VfA=; b=AM9RhXBt+LsVNDi+BD7JqxRyoFeds10ltwQAurvIK++eeWSRboWL2CudUwDRxaQW5Z RCG1QYnkiqHPVunNNiioVe9/MaAS5TyGvz/yNjFf201p/y1TBPUZVdAVBgm8zPQ5TtBS iaUvX/3DpCIIDj4FDt8cB/gr0R5i/yfx309bLUl1BUcAf7DCqiSbfXVZB29oY68waMIz waNbvxOTYszbjEwe6zUwGzPKgnkoLvRGG5y4DXbGokBWao2defVOX6ElDFHf0pmlBQWh JfjaYWRkj4lfVm2cZrcKIi/YZ1MD/5L1Dbl+WrOtw8rD0VMuO3khgMd4K0yqcSopGyUg GOaA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:message-id:date:mime-version:user-agent:subject :content-language:to:cc:references:from:in-reply-to :content-transfer-encoding; bh=2nZIbA02OXNIyOJXo7QF5v3mB7RiS92/ilxeBqv2VfA=; b=pKOGhjMlo5bONcXDt1/9NFrJdV79iraY+oWZGdwVsueDpPkG836aPnkY9P4BX1rM4o QeAAvHs4wAqCw/G5+FNVvJRkV0VHZoCIQzCmTgvG8Yju2EsizIHEJxKI9vJAyPrmQbtm v1ZR8m+zuPct7MIDR/9jPmhTjbhSgu7wp4Xaaq2YvMuxUvEte35zOi3sEzhuBP7+S0qK R2vxQQwgCNbdoXEh0s66mCwTXkov08iOXwmgs41OEO002NhGCnlCHhUQ1LatydoPUxS2 0t1l96SdxqLqhSSGVRQLLgP4rUUi+aiUv/JzW6L5mUl81QI22lChsilBbeCOhQgCzqWH 9F8Q== X-Gm-Message-State: AJIora+dqGsIGXQwwE8BQGwP1mvXXM2pz5IIZWaMfFSgazBhzAH/I9/I /QkPS904qinZVY0PHGzfqiA= X-Received: by 2002:a05:6638:3291:b0:331:7589:677 with SMTP id f17-20020a056638329100b0033175890677mr3194294jav.96.1655397920307; Thu, 16 Jun 2022 09:45:20 -0700 (PDT) Received: from ?IPV6:2600:1700:2442:6db0:7c5a:aa57:ff5:df70? ([2600:1700:2442:6db0:7c5a:aa57:ff5:df70]) by smtp.gmail.com with ESMTPSA id g2-20020a925202000000b002d5199dab1fsm1184668ilb.42.2022.06.16.09.45.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 16 Jun 2022 09:45:19 -0700 (PDT) Message-ID: Date: Thu, 16 Jun 2022 11:45:17 -0500 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: Default async probing for DT based systems Content-Language: en-US To: Saravana Kannan , LKML , linux-arm-kernel , Marek Szyprowski , Geert Uytterhoeven , Kevin Hilman , Greg Kroah-Hartman , Marc Zyngier , Will Deacon , Rob Herring , "Rafael J. Wysocki" , Ulf Hansson , Linus Walleij , Sebastian Andrzej Siewior , Frank Rowand Cc: Android Kernel Team , Linux PM References: From: Frank Rowand In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,NICE_REPLY_A, RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Saravana, You failed to include me in the distribution. Adding myself now... -Frank On 6/15/22 23:24, Saravana Kannan wrote: > Hi, > > TL;DR: I want to improve boot times by enabling async probing by > default for DT based systems. Can you give it a shot please? > > Why do you think it might work when async probing has been a pain before? > ========================================================== > Since fw_devlink=on is the default behavior and fw_devlink understands > approximately 24 DT bindings, it should capture most of the device > dependencies and ensure proper probe ordering. For example, on a Pixel > 6, fw_devlink figures out 325 dependencies that it uses to enforce > probe ordering. > > You can find all the dependencies under /sys/class/devlink. > > Fine! What do you want me to try? > ========================== > With the patches that have landed in 5.19-rc1, we can now enable > default async probing for all built-in drivers by adding the following > to the kernel command line: > > driver_async_probe=* > > I'd really appreciate it if folks can try adding driver_async_probe=* > to their kernel command line and report any boot time > improvements/regression or boot/probe failures it causes. > > (* insert cat begging pic *) > Can I haz some reports pleez?! > > Tips: > ==== > One easy way to check for devices probe failures is to compare the > output of this command with/without the commandline changes: > > # find /sys/devices -name driver > > Btw, if you need to force sync probing for a few drivers so that your > rootfs mounts properly, you can set the flag in the driver, or you can > list them as exceptions following the * in the command line option. > For example: > driver_async_probe=*,my_flash_driver,my_sdio_driver > > Report these too. > > Known issues: > =========== > fw_devlink doesn't yet support phy-handle and mdio-parent DT bindings. > They have some tricky issues I need to resolve first and I need to add > both of them together -- I'm working on it. If there are other DT > bindings that are missing support, do let me know. Most of them are > easy to add. > > The driver_async_probe=* won't have any useful impact for modules > without adding .async_probe to the commandline or > async_probe as a module option when loading it. This is because > modules intentionally force sync before they exit. There's a patch for > a global flag for modules too [1], but it can never be set by default > for userspace reasons[2]. > > [1] - https://lore.kernel.org/lkml/20220604010101.719508-1-saravanak@google.com/ > [2] - https://lore.kernel.org/lkml/CA+55aFxV40V2WvNtJY3EC0F-B9wPk8CV2o1TTTyoF4CoWH7rhQ@mail.gmail.com/ > > Thanks, > Saravana > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel