From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Jerin.Jacob@cavium.com>
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 <dev@dpdk.org>; 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 <jerin.jacob@caviumnetworks.com>
To: Olivier Matz <olivier.matz@6wind.com>
CC: <dev@dpdk.org>, <ferruh.yigit@intel.com>, <thomas.monjalon@6wind.com>
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: <BY1PR0701MB1722C73727D9B2D57BEC0C8281750@BY1PR0701MB1722.namprd07.prod.outlook.com>
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 <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=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 <olivier.matz@6wind.com>

Tested both approach on ThunderX. This patch looks better

Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>

➜ [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