From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0080.outbound.protection.outlook.com [104.47.37.80]) by dpdk.org (Postfix) with ESMTP id 4C1E4282 for ; Tue, 24 Jan 2017 12:40:34 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=64/KK74Fz7qkvrfHmj0i3JZR8nALpzyhZuZxXeTV+T8=; b=OolWQ8iVSvjo6k+LtvEBrXBz0kapbLwdSRw4gSKgH2oxVMuDEpgUsHbBIS/IZMChFrVbUnsI7cEzar9MdoZyd+wYPUcuWOvLa2RszwQRGKuaQ6rVdqNVhlzB5TaXFBNxQ91F1sY5d/G/kjjukSyVEF8eBzi/4galzMifU11t/9w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Jerin.Jacob@cavium.com; Received: from localhost.localdomain (111.93.218.67) by BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.860.13; Tue, 24 Jan 2017 11:40:29 +0000 Date: Tue, 24 Jan 2017 17:10:15 +0530 From: Jerin Jacob To: Olivier Matz CC: , , Message-ID: <20170124114013.GA4609@localhost.localdomain> References: <20170123181813.00567e47@platinum> <1485191953-2613-1-git-send-email-olivier.matz@6wind.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1485191953-2613-1-git-send-email-olivier.matz@6wind.com> User-Agent: Mutt/1.7.1 (2016-10-04) X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BM1PR01CA0076.INDPRD01.PROD.OUTLOOK.COM (10.174.208.144) To BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) X-MS-Office365-Filtering-Correlation-Id: 71bae3c6-6743-4413-526e-08d4444dcde6 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 3:lfcn351EgohPxXtKhoiZYAhZdMmrHb22Eg3+xmE9XujJoBYGOBQoeCyLLfqkkk6+vwzKzvxQVY57OKg4A6VIUZ1NAHjGo19wJmXzJNUIgjOzU41NFWxnc4YE7yjAlsJlR7FoReOp39ciIyhGzgNGvBat67R/gjySMKAgRw71eD1H7qS3zuydeWCRIEQG6FY83mAg3NOAV18RjzMrnWU8/Ydx0pyIrDPhFp8xTHlmIoUHk77+JWbx7qNdtVNoyYPply1lyCf+EKuVuTf1m9OCyA==; 25:9uoveM6F+1KEyLBm2O0Lgm5Ze3NxGtPxqLdINseMuy4c/5PCdEqKhZBX0jbpo0wDG20V3hDgKj8cpSJz2y/aTJ/OmLI6iuvAr0fH/+0E4SNipBfJd8nztq0j7ZhkFs4P9gD/Nh/3ymNo0HVoRqnny2I6ep50w8N4kfrAGoJBqUCDNHbuPYEaoONxGzeM297xc0MC5Xf0KEB7lvjbbdneqKUNWL9/6PFVPp04FgRUXCfUcm+Y95G9UoWwzevBTcD/6n/sGtFDXQusaOmTUY/qhrRuZP2kVK8VQbjf9DzDhgabf60YGmAsO8EdeEdHS5titkgF/VIc4BZ2O0Ms5/FT+tlpnI4Jro05pTk6OV5rDwEAbW7Qyb42/kySZzgamt3EeFkSF1ug58CEVN3ugH9K/iFyMjhRD3c1ZedwoXqMf6dnCSUWASkSxkRm5L3SYUYSxTnrpoab0UtTrG9vU92CrA== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 31:TE+4ro6KFFd4kexjoa3IgUjEaSPKI6iOM/UlcQZw9syMbOf3xY9eEBvgc4aAx38hNL80Enbx57Klk7ulFrZHnZnGnlO9d8PKo1+z8k28EU9XHTAziWq1CirY76XKKBs16uNLO+3C01xo8U0ZGOfKjrD/AoUfmojueKmITy1RVUJe3YZt+iFhxZdJ51vi4anHrB0ys9EVvWuOI6ejmh/QM6JKwjbZ7nXkjfh7C4on/FhzxTXYV1gMY1+EaGb5zu6JyZZ/s35/WiIgdD0MONSetQ==; 20:Kx51Y42Y26nMWKfKcPw3uq+NtD+57CBZTu0z4gZQ87dZuGg0/k2ITZBiRgIMjG+3/ksvI0VxFBlS8Il6oMzvdpnRr/n46UuoPcu5VDKujPpXLnyDSSMrkTQLfylDgLupVFo5ixtGOTS5rtf0SBJBGR+D9FjG176stL7cTKZJUnURX5jSqX5pgxtW4FfQ3MGjAynVG7QF7vgikvDel8KhtpwkV96dxb5h9PoSWfusTS8294HRBj98+bUoE8hVl1juahhfVn38OQAk26NTIiLFnhOJ/vzIIihZkqQvONQrN6OfLHAMzl2/rP3VZKwNpuOXwimwhHFNsSEW8LUBw417a1xTCRnHaY+1gaztBHPCgGKhhJMb9Eq16/8FAh4DodN798UmCbVmQv4apWWgfESvOE3pIhGyz9FcCQqCgtiK6fgwfWFv/XI646CXfE1EpkjP6ITKA32rlP0T8bJu2nH8ubqs+m8cTPdtq72DtOgdGBPGMKx3stlAc1YJ1nkagZMLLggxF5Q8KWk3mHLZMfePFUFz6d/mbHYOwhlvZiXL/kCcUz/GkrSYFMIRB1gLhpxBnoBJ0GGMUZS8IyxXMtsNL7XoKZaVIF90R7KV+/Ej/YE= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123558021)(20161123560025)(20161123555025)(20161123562025)(20161123564025)(6072148); SRVR:BY1PR0701MB1722; BCL:0; PCL:0; RULEID:; SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 4:/j6OEOzMFbn8v4sew4fPwWLy7v1XmiLAU85T1QuWJ0Szb3tlxTmEdwxB8EpQ4Hv9FM1fGGSp75plYsK8pMYQAbx4I/q80JoyCQdVdW0RDXwJnljt2frpLn9jMMaThCdajI1FwoBaTiEcq+MATqlBLx3u/JjQOilxK4s3O7HEiuSO2hIWBuc84zC2CrRHpDVMw3N7Hb6K0LwIS1XLq72QjSH5EpErnbWCDvoRVBvOSy4PCEuATVs5pieFW72u3l7dF+BeULiO8FNxB0vxgyy6CyoejAoR0jAIuLDVgocIEYWk+l3Q2AEGRW8cXtkjuHxofVEEScPaDlEJpcZGh1CEZM/XVjvwZrs56C/ZAHHuN/vM0GaAP/3yP/PfGA0I8o9EnZMXfAUWwfhu2BxcvqYwaPCZvl8CPnM49g9kKfyKDl1Zf8iNQIRJfwKWLYBYm7270yr3kaUeE6XOGdqZmTytXLON+zXA+1NZGXFmSISAo8BPcVlUpJawq5KX6z66h1UAebz2RzyZWN7wyuNC69deGFZUNlznwW+e3d7MBTuVywVhuy05nU4Q1oZoFx98XwC48prfCak8Kue9sj04cfM1XjjNwK55lCSFnQ2i4o+O8NU= X-Forefront-PRVS: 0197AFBD92 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(199003)(50944005)(24454002)(189002)(83506001)(110136003)(8676002)(229853002)(81166006)(6666003)(42882006)(2950100002)(6916009)(81156014)(5660300001)(305945005)(7736002)(1076002)(38730400001)(68736007)(106356001)(101416001)(3846002)(4326007)(42186005)(6116002)(105586002)(33656002)(50986999)(2906002)(23676002)(76176999)(2870700001)(54356999)(189998001)(55016002)(54906002)(5009440100003)(61506002)(50466002)(47776003)(92566002)(9686003)(66066001)(4001350100001)(97736004)(6506006)(25786008)(53936002)(7099028)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1722; H:localhost.localdomain; FPR:; SPF:None; PTR:InfoNoRecords; A:1; MX:1; LANG:en; Received-SPF: None (protection.outlook.com: cavium.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjA3MDFNQjE3MjI7MjM6QXZmbU0rQ1FmVkRvcTJLUzVrY2xiTFdM?= =?utf-8?B?RFh5Z1NCUEc4R3lyS0JMUXVUNStabzVKUGJMZDQ1bExlcWZ6ZEg4ajhsUTZn?= =?utf-8?B?VUtwR0ErUk1qNEJjSEIrTSthcTZwKzdzUEFUTDBWT3Y5RzFiUG1SaC85SnBG?= =?utf-8?B?bHFiK2QwQit0M2QvU2VRYmlmYm15Z0Jtd1M1VitqOEJXYzAzWE9oay9DNDVk?= =?utf-8?B?VzdMZ0YySXFGRFYxN1ZzNGRhUU8yd1N6SnQ5MnhRUGJHdURNQldMR1Vyd1JZ?= =?utf-8?B?YWFOYWRwM1ZsWkJyU0lQcEtqK09HeW9HeEJNSnhQbGNrTDAvdDRzd3pWV0VO?= =?utf-8?B?MklJSm1tdm1SanB3ZkhvYXpPLzNQNzFxYUx5Y2JZcXVLeGJ0WGdWcmVxN0gv?= =?utf-8?B?K2JqWTRxZk1kTnZvUW9rd1R3MS84NjBrMis4SHE1YzJxR09WMkVIWjdJSTRy?= =?utf-8?B?aVo3QVN0SWtzOTdvQUpFczd3ZUIwV1NXSXoxT2RPWS9tKzB6elRzWHkvbkE5?= =?utf-8?B?ck9XNHl2c1RLbTRwbUhjTGUwcXZmbUt1Q0xNLytuSlgrWURaNW9ScGNVdUFW?= =?utf-8?B?eUt2T08rd1VZY3dyeEI1UHZQOUdKM0g0QjNjVGNUaUowTS9ZMVlQNndLb1NH?= =?utf-8?B?TFY5elVVakE2Q3VxMm5NclBHLzJORGpWejJmK0hneGpuWGpFOWxSZFJmUm5I?= =?utf-8?B?a0VkczRlUkxvcmFzc0doTm4rVklMWm1PRk5idTBXQVZFWHJCWUN3M1k5MGhI?= =?utf-8?B?Mk1Ib3g0Q0FvOWQ5dVB4Y1NZZHdneUw0QlVseGxZYXJEb3JwUEVOVkpGNHhO?= =?utf-8?B?NmJSTDRZOE9lTEJicVNiT2tEUnhNeDRqL3NUWkFRYWVyenVLdnB1S0JjdE02?= =?utf-8?B?MFpPaUk3Y2N3S1BUd1FGbEZHQjhtY0J1SVI3QjFlWkxadzBXQ0FpUGxDRnRM?= =?utf-8?B?eWlMWmtJbTcvOXNUbmxMdkdWSGJBTktHcVV5aWFQVFJ1a0JuUTl6V3RiYm1m?= =?utf-8?B?SjFWeDQyU3FMcTNOSDhhL0VpRFBFY0V4NlRyWS9QN1N6NUdWSVJkZ3pHNzQ5?= =?utf-8?B?b1RwaTNNcnlxYUZWcDk5bmtncnNiWGorN29zYWVQVml3NDllSU0rdWdjZFZ5?= =?utf-8?B?VkFVaVRsd0VQV0R4Q2VSdENWMXVSTkd4bHQ2RHd3c2lZSWhaK0xmU0k5UElY?= =?utf-8?B?TVp6SUVaL0Vwc1llZ2lDTHRHVUlFRDBuR24rbUh4bDVjVkgyNnREd211S1pJ?= =?utf-8?B?bkM2T2NLS2owSXF4azZJbEZwRmFoQzI1MzNBZXRoc3V0UjAyVmFwNnJtbnlz?= =?utf-8?B?UE1zWlUwVm9jekk2a1hjTzlGYkY2WWdIUFVWLzRkVUc0amhBZk9mTzdQd005?= =?utf-8?B?clIwR2FFcVVTNmhaKzJxS041cGpqaXVCZnd2VEdFVm11czVDR2tiVE9xQk5K?= =?utf-8?B?WkxLeXlxWURXY1BoRzRvdXVBTmpOMDJYVy92U2xlWFZRUU0rdk41S2s5UFpR?= =?utf-8?B?MnNkdXM5YUhVSlBIaDQ5M0ZFUjBNU0x6a0VzU0o1YTg5d01wQXVnZmlRdUlY?= =?utf-8?B?ZnpCMUQ1ZGYrNmxHOGIrT1RKbDMvMHNhU2hlUGEzNVl1MjVycUhTQjViNGtI?= =?utf-8?B?clRmZWFqYUJBbHNTV3YrdnA3TFlNdWtqdVAxdEdHcWk2bG5FTkVBclQ5b3Ry?= =?utf-8?B?WmthYzBwRGN2ZWplUmxrMXRNcDI4aE9iWnlEcGFCSFVVb0JVdUJ4U3ArbkZD?= =?utf-8?B?OWE5NGpNY1BpTVdoRElYUHdFaUdaOStoMjFEOTRoQmFSY3BkUW5VS3I3RE83?= =?utf-8?B?ZWVZZGpRR0diY0lBeTdRU25Ud2VPMGsyczBGdnBOVGRTdFh2QT09?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 6:90N+dzJFWCre8s0658yIebKhqlfDW9yx5qm6PwT4Tu/WfOEqAjVXEVNOzg9dGaVfQDzUiG1OOhyKWt1ESpDOwmPexyFyMEEAcKc8Z6dN75BNTt5DgMSge84ETF0VwreCH8AJ0J5P+z9mlt9xHK5h2a3vHsWnVKhR8ToEM207exVGp8ddYEDTvVvS6e4wUsF503EvvWy/gcMB+b/47/4ej642GDSuk9frNEKhfaff27Rqwz/9ZXk4f7ym2Pl1/fli3Vk2Ua64es2l0Nd0dSPU3EZmCnV2kZfB4CHgA4QqTjW4GeoU04MqnA6iIwT82yBCpdNDOcFZzy1rEyQHG6VwgJIaA2v3Fi9x1cGqyoL7SQMEyAp92Dq6U2cvrbZ9X37Ybl09YY48LbIhVADLqGRJeGvy3MFBzXUFSSscKcj932k=; 5:2ghfsOetGeImmhVeM5EWYJklax7/fCM6SGv+60WPE40JA+O5C9qH6Ckcj83dVygJINSuRisK1sbbrj5wSYD8GIkjDc9fPKTpf4wP2D21xJRTwn1CnmIcj7U2XL3aiHEPsR76llJlHduxPH2fJCdgoA==; 24:5Vq683AUHlt7wJ1H6sKjkJRejEKhDHvTv7dlF+MsLzjTRo3laKREDS51SHgZQ+1YQ17lMT/q2XWHmbhCsXalkjlIi+ncWeFm8aOh6UvpaDA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 7:uPRHCgHihCBk7mymV2zCQw9G7FcsoMzk4bAFtbjjv0EOXcLROc7SkXjVWbuMyMtMy75SCFQq+OoW1Aj+kUU4R9OLAiEnCngJGxSSmjq7ud3wAXfsQ1h9T1J3Uo6nuKr4NXSLXr7+RUqMsZpznOR0zdvL6j2/JYKWM9zG459LMNqz64yYxFIpCfkTIZQ63I62Mu8a7SBTqm62f797SgLX6HXwNVddrSFg1daLu/F2N8nhDfZIfQOnHtAn7lFCrrVonYWZX1EYzGJkz2qQPoQDYhPztFvlvHwiZM8v+DZtC4/G3j4qLNwznbrY0tVkL2ur2FaHOZsJEB34UpPNXh8jZd06LCfNEmephQxnZTgvIAxaxQCbDqGPhYRwG6cai2srCVvWE9X5anQzDppsEZliLpZkPK2+KbxaOOOFM0YQnKhRJ/XricA2EbEzb+uipN48jKHnw/UUKrm1lSbQpl4+5w== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jan 2017 11:40:29.6965 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1722 Subject: Re: [dpdk-dev] [PATCH] mk: optimize directory dependencies X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 11:40:34 -0000 On Mon, Jan 23, 2017 at 06:19:13PM +0100, Olivier Matz wrote: > Before this patch, the management of dependencies between directories > had several issues: > > - the generation of .depdirs, done at configuration is slow: it can take > more than one minute on some slow targets (usually ~10s on a standard > PC). > > - for instance, it is possible to expressed a dependency like: > - app/foo depends on lib/librte_foo > - and lib/librte_foo depends on app/bar > But this won't work because the directories are traversed with a > depth-first algorithm, so we have to choose between doing 'app' before > or after 'lib'. > > - the script depdirs-rule.sh is too complex. > > - we cannot use "make -d" for debug, because the output of make is used for > the generation of .depdirs. > > This patch moves the DEPDIRS-* variables in the upper Makefile, making > the dependencies much easier to calculate. A DEPDIRS variable is still > used to process library dependencies in LDLIBS. > > After this commit, "make config" is almost immediate. > > Signed-off-by: Olivier Matz Tested both approach on ThunderX. This patch looks better Tested-by: Jerin Jacob ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc Configuration done real 0m18.112s user 0m2.810s sys 0m0.660s ➜ [master]GB-2S [dpdk-master] $ pwclient git-am 19859 Applying patch #19859 using 'git am' Description: [dpdk-dev] mk: parallelize make config Applying: mk: parallelize make config ➜ [master]GB-2S [dpdk-master] $ rm -rf build ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc -j 8 Configuration done real 0m2.812s user 0m3.020s sys 0m0.870s ➜ [master]GB-2S [dpdk-master] $ rm -rf build ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc -j 16 Configuration done real 0m1.748s user 0m3.040s sys 0m1.020s ➜ [master]GB-2S [dpdk-master] $ rm -rf build ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc -j 32 Configuration done real 0m1.422s user 0m3.380s sys 0m1.080s ➜ [master]GB-2S [dpdk-master] $ pwclient git-am 19918 Applying patch #19918 using 'git am' Description: [dpdk-dev] mk: optimize directory dependencies Applying: mk: optimize directory dependencies ➜ [master]GB-2S [dpdk-master] $ rm -rf build ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc Configuration done real 0m0.064s user 0m0.000s sys 0m0.000s ➜ [master]GB-2S [dpdk-master] $ rm -rf build ➜ [master]GB-2S [dpdk-master] $ time make config T=arm64-thunderx-linuxapp-gcc -j 8 Configuration done real 0m0.055s user 0m0.000s sys 0m0.000s