Re: Intermittent build failure with TRIM_UNUSED_KSYMS and related problems

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

 



2018-03-21 10:07 GMT+09:00 Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>:
> On Tue, 20 Mar 2018, Thomas Lindroth wrote:
>
>> On 03/20/2018 04:16 PM, Masahiro Yamada wrote:
>> >> Some filesystems have timestamps with coarse precision that may allow
>> >> for a recently built object file to have the same timestamp as the
>> >> updated time on one of its dependency files. When that happens, the
>> >> object file doesn't get rebuilt as it should.
>> >>
>> >> This is especially the case on filesystems that don't have sub-second
>> >> time precision, such as ext3 or Ext4 with 128B inodes.
>> >>
>> >> Let's prevent that by making sure updated dependency files have a newer
>> >> timestamp than the first file we created (i.e. autoksyms.h.tmpnew).
>> >>
>> >> Reported-by: Thomas Lindroth <thomas.lindroth@xxxxxxxxx>
>> >> Signed-off-by: Nicolas Pitre <nico@xxxxxxxxxx>
>> >>
>> >> diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh
>> >> index 513da1a4a2..d67830e6e3 100755
>> >> --- a/scripts/adjust_autoksyms.sh
>> >> +++ b/scripts/adjust_autoksyms.sh
>> >> @@ -84,6 +84,13 @@ while read sympath; do
>> >>         depfile="include/config/ksym/${sympath}.h"
>> >>         mkdir -p "$(dirname "$depfile")"
>> >>         touch "$depfile"
>> >> +       # Filesystems with coarse time precision may create timestamps
>> >> +       # equal to the one from a file that was very recently built and that
>> >> +       # needs to be rebuild. Let's guard against that by making sure our
>> >> +       # dep files are always newer than the first file we created here.
>> >> +       while [ ! "$depfile" -nt "$new_ksyms_file" ]; do
>> >> +               touch "$depfile"
>> >> +       done
>> >>         echo $((count += 1))
>> >>  done | tail -1 )
>> >>  changed=${changed:-0}
>> >
>> >
>> > Does this patch solve your problem?
>> > I guess so, but I want you to test it just in case.
>>
>> Yes, it solves the build problem but I'm still experiencing the original
>> problem with vfio forwarded pci device even with this patch.
>
> All this patch pretends to do is fix the build race issue.
> So it should probably be applied for that reason alone.

I agree.
Applied to linux-kbuild/fixes.  Thanks!



-- 
Best Regards
Masahiro Yamada
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux