[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [XEN PATCH] libs/util: Fix parallel build between flex/bison and CC rules


  • To: Anthony PERARD <anthony.perard@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
  • Date: Thu, 9 Feb 2023 14:03:22 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=HwyilBnRdDbuxMM6JJ4sSuRfOgu/7IiLLvWlt4iDtZ8=; b=kN+yL8cfuIqHSz6OKNCiZcDrUSGLFVQSiv+i3PH3ge0wJpUJZKtEWFkHZ27z1l+HptQck1COsv4UwrMoKu1weBSj9VuzFvLBapaOhlAs2xhiZ/H3GYae9lA+YMq9tMUzLEALXiZgaqNlIJ1k0Nnq2kKOy0h1D32OXyTzBVKk+TpBjRJ9bgb4NVErFBRTy7lk7cxPIBXpBP3KI7282naVdKtWqJWQex2BpaqVkYunmlWlwkjt++zE48+5LQuBXb4DMz3crDfxVV0mU9i/Qzhc3ExTEZEtQLcfQy6Wy90CQRuAiiappDN42qqCiNsKprqZePYAqjwHPKSr1jAMEqwLCQ==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ep5JwyqbLKrPS6VR+FHfA94mASTVVCSOp2GuAfEG3yU7mk0Kjd8Dt62l/2w7+KfqUmG+bxIYuUR9qhj/bxnK3SMeObo/pi6C8l9iAvm72/Vhbl2ETK7H2h3UnB/T4JAXUe0PWuIpa7Dxr1ZxJ3XYMLKzC/15hKiKAaacxNzFph2/HRY3fVb32Uz3DTP7rCXi6WZI1mwA1cbleqCckLmX7dUwWO+3n7uJI+9siCn9sFieLl7j8/peFLvC2NnRqT1dOuLED4bI4dLY8HYw1HtScbpSDymazYu7mR/xhm36x8lkimFm2gk93O1GToNZgI/0b/4NyZKx9xgv61+AXmZRpg==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Wei Liu <wl@xxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
  • Delivery-date: Thu, 09 Feb 2023 14:03:48 +0000
  • Ironport-data: A9a23:lUhara9IJ7e5Gz/ecRBUDrUDoH+TJUtcMsCJ2f8bNWPcYEJGY0x3n DQZWD+BaKneNGT2e4p3OdvjoxkFsJeEmodmGwY4+SA8E34SpcT7XtnIdU2Y0wF+jCHgZBk+s 5hBMImowOQcFCK0SsKFa+C5xZVE/fjUAOG6UKicYXoZqTZMEE8JkQhkl/MynrlmiN24BxLlk d7pqojUNUTNNwRcawr40Ire7kIw1BjOkGlA5AdmP6ga5Aa2e0Q9V/rzG4ngdxMUfaEMdgKKb 76r5K20+Grf4yAsBruN+losWhRXKlJ6FVHmZkt+A8BOsDAbzsAB+v9T2M4nQVVWk120c+VZk 72hg3ASpTABZcUgkMxFO/VR/roX0aduoNcrKlDn2SCfItGvn9IBDJyCAWlvVbD09NqbDklWz domdGEsQyqjqOjtwJWgY6ow2eQ8eZyD0IM34hmMzBn/JNN/G9XmfP+P4tVVmjAtmspJAPDSI dIDbiZiZwjBZBsJPUoLDJU5n6GjgXyXnz9w8QrJ4/ZopTaNilAvuFTuGIO9ltiibMNZhEuH4 EnB+Hz0GEoyP92D0zuVtHmrg4cjmAuqBtlMSeXip5aGhnWzmF1IUg1HRGLmqLqA1We8XtZ5I hALr39GQa8asRbDosPGdw21pjuIswARX/JUEvYm80edx6zM+QGbC2MYCDlbZ7QOq8seVTEsk FiTkLvBBzN1t6aOYWmA7brSpjS3URX5NkcHbC4ACA4aud/qpdhpigqVFoo9VqmoktfyBDf8h SiQqzQzjKkSishN0Lin+VfAgHSnoZ2hohMJ2zg7l1mNtmtRDLNJraTxtDA3Md4owF6lc2S8
  • Ironport-hdrordr: A9a23:gy7Kxqpc24DVHbcLZDTJCaoaV5oveYIsimQD101hICG9E/b1qy nKpp8mPHDP5wr5NEtPpTnjAsm9qALnlKKdiLN5Vd3OYOCMghrKEGgN1/qH/xTQXwH46+5Bxe NBXsFFebrN5IFB/KTHCd+DYrMd/OU=
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 09/02/2023 12:11 pm, Anthony PERARD wrote:
> flex/bison generate two targets, and when those targets are
> prerequisite of other rules they are considered independently by make.
>
> We can have a situation where the .c file is out-of-date but not the
> .h, git checkout for example. In this case, if a rule only have the .h

Nit.  s/have/has/

(Can fix on commit.)

> file as prerequiste, make will procced and start to build the object.
> In parallel, another target can have the .c file as prerequisite and
> make will find out it need re-generating and do so, changing the .h at
> the same time. This parallel task breaks the first one.
>
> To avoid this scenario, we put both the header and the source as
> prerequisite for all object even if they only need the header.
>
> Reported-by: Andrew Cooper <Andrew.Cooper3@xxxxxxxxxx>
> Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>

Acked-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

This is a very subtle corner case.

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.