Hi Khem,

On 02/12/19 18:09, Khem Raj wrote:
[...]
>>>> --- a/classes/ti-pdk.bbclass
>>>> +++ b/classes/ti-pdk.bbclass
>>>> @@ -68,7 +68,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
>>>>
>>>>  TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
>>>>
>>>> -PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
>>>> +PARALLEL_XDC = "--jobs=${@oe.utils.cpu_count()}"
>>>
>>> this may create another variableto control when limting parallelism so
>>> expressing it in
>>> terms of BB_NUMBER_THREAD s desired
>>>
>>> perhaps you can try adding
>>>
>>> do_configure[vardepsexclude] = "PARALLEL_XDC"
>>> do_compile[vardepsexclude] = "PARALLEL_XDC"
>>
>> Thank you for your review.
>>
>> I agree the solution in this patch is not ideal as it removes ability to
>> control the build load.
>>
>> However using BB_NUMBER_THREADS (with our without vardepsexclude) is
>> also not quite correct. PARALLEL_XDC should have to do with
>> PARALLEL_MAKE, not BB_NUMBER_THREADS.
>>
>> But PARALLEL_MAKE is not a number, so using PARALLEL_MAKE would be
>> correct but it's not doable, and using BB_NUMBER_THREADS is doable but
>> not quite correct... :(
>>
>> Bottom line: for lack of better ideas, I'm sending a new patch that
>> keeps using BB_NUMBER_THREADS and takes your suggestion above. I guess
>> it should be OK for most users. At least it's not worse than the current
>> behavior and can still be improved later.
>>
> 
> another option would be to use parallel_make_argument to contruct what you 
> want
> e.g. see how boost does it
> 
> https://git.openembedded.org/openembedded-core/tree/meta/recipes-support/boost/boost.inc#n141

Oh, good idea, thanks! It looks like the correct solution to use the
proper variable (PARALLEL_MAKE) in place of BB_NUMBER_THREADS.

But surprisingly it also fixes the "basehash value changed" problem. How
can this happen? My patch is simply:

--- a/classes/ti-pdk.bbclass
+++ b/classes/ti-pdk.bbclass
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC = "${@oe.utils.parallel_make_argument(d, '--jobs=%d')}"

and

--- a/recipes-ti/ipc/ti-ipc-rtos.inc
+++ b/recipes-ti/ipc/ti-ipc-rtos.inc
+PARALLEL_XDC = "${@oe.utils.parallel_make_argument(d, '--jobs=%d')}"
 EXTRA_OEMAKE = "\
     PLATFORM=${PLATFORM} \
     XDC_INSTALL_DIR="${XDC_INSTALL_DIR}" \
     BIOS_INSTALL_DIR="${SYSBIOS_INSTALL_DIR}" \
     ${IPC_TARGETS} \
-    JOBS="--jobs=${BB_NUMBER_THREADS}" \
+    ${PARALLEL_XDC} \
     JAVA_TOOL_OPTIONS=-Xss2560k \
 "

So I wonder why the signature is not considered as changing since
EXTRA_OEMAKE *is* changing from one build to another with a different
PARALLEL_MAKE.

Any hints?

Whatever the reason, this version definitely supersedes v2, and after
some more testing I'll send v3 with the above implementation.

-- 
Luca
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#12544): 
https://lists.yoctoproject.org/g/meta-ti/message/12544
Mute This Topic: https://lists.yoctoproject.org/mt/64369908/21656
Group Owner: meta-ti+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/meta-ti/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to