[OE-core] [PATCH v.4] kernel.bbclass: Fix race condition

Bruce Ashfield bruce.ashfield at gmail.com
Wed May 6 14:12:46 UTC 2015


On Wed, May 6, 2015 at 10:03 AM, Ed Bartosh <ed.bartosh at linux.intel.com> wrote:
> Race condition between do_compile_kernelmodules and do_shared_workdir
> tasks occurs when do_compile_kernelmodules changes files in
> include/generated/* while do_shared_workdir tries to copy them to
> shared working directory.
>
> Fixed race by moving do_shared_workdir after do_compile_kernelmodules.

I assume that this supersedes all the old versions.

I had a comment typed for the first, but got distracted and didn't send it
before this one came out!

I was concerned in the earlier revision that the race still existed, or
more precisely that we had things in a non-obvious place if a recipe
needed to depend on the artifacts in the shared directory.

Will this variant fix the issue that Richard pointed out with lttng-modules ?
(It should, since lttng-modules does depend on
'virtual/kernel:do_shared_workdir'
and that will now run after the kernel modules are installed.

We are forcing a bit of serialization of the module build for anything external
that depends on the artifacts, but I'd rather get this working .. and
worry about
any optimizations and further tweaks later.

Bruce


>
> [YOCTO #7321]
>
> Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
> ---
>  meta/classes/kernel.bbclass | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
> index 125ed88..9207ae4 100644
> --- a/meta/classes/kernel.bbclass
> +++ b/meta/classes/kernel.bbclass
> @@ -234,7 +234,7 @@ kernel_do_install() {
>  }
>  do_install[prefuncs] += "package_get_auto_pr"
>
> -addtask shared_workdir after do_compile before do_install
> +addtask shared_workdir after do_compile_kernelmodules before do_install
>
>  emit_depmod_pkgdata() {
>         # Stash data for depmod
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"



More information about the Openembedded-core mailing list