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] -=-=-=-=-=-=-=-=-=-=-=-