Skip to contentSkip to conversation

ti-pdk: Weakly assign PARALLEL_XDC

PATCH In review Joshua Watt 2 participants 5 messages Apr 2, 2018 – Apr 12, 2018

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ti-pdk: Weakly assign PARALLEL_XDC

Allowing it to be overridden in local.conf

---
 classes/ti-pdk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
classes/ti-pdk.bbclass +1 -1
index 540a665c..0b0c9ffe 100644
@@ -63,7 +63,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
 
 TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
 
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC ?= "--jobs=${BB_NUMBER_THREADS}"
 PARALLEL_MAKE = ""
 
 def get_doxygen_support(d):
Signature · 1 line
2.14.3
#1 lore raw
Quoted 1 line · Joshua Watt

Allowing it to be overridden in local.conf

Why?

Quoted 26 lines
---
 classes/ti-pdk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
classes/ti-pdk.bbclass +1 -1
index 540a665c..0b0c9ffe 100644
@@ -63,7 +63,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
 
 TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
 
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC ?= "--jobs=${BB_NUMBER_THREADS}"
 PARALLEL_MAKE = ""
 
 def get_doxygen_support(d):
Signature · 7 lines
2.14.3

-- 
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti
#2 lore raw
Quoted 4 lines · Denys Dmytriyenko
Quoted 1 line · Joshua Watt

Allowing it to be overridden in local.conf

Why?

For some reason, when some ti-pdk recipes are built on my machine, the number of threads explodes exponentially.... It ends up launching several hundreds to thousands of threads which consequently make my computer unresponsive for quite a while, and I usually have to reboot it afterwards because something important stopped working.

I think for some reason the --jobs= flag is getting compounded recursively.

Admittedly, there appears to be some deeper bug with the job parallelism that needs to be looked into, but this at least allows me to continue working (by setting PARALLEL_XDC = "" in local.conf) in the meantime.

I'm on the latest HEAD of morty BTW.

Quoted 28 lines
Quoted 28 lines
---
 classes/ti-pdk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
classes/ti-pdk.bbclass +1 -1
index 540a665c..0b0c9ffe 100644
@@ -63,7 +63,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
 
 TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
 
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC ?= "--jobs=${BB_NUMBER_THREADS}"
 PARALLEL_MAKE = ""
 
 def get_doxygen_support(d):
Signature · 7 lines
2.14.3

-- 
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti
#3 lore raw
Quoted 15 lines · Joshua Watt
Quoted 4 lines · Denys Dmytriyenko
Quoted 1 line · Joshua Watt

Allowing it to be overridden in local.conf

Why?

For some reason, when some ti-pdk recipes are built on my machine, the number of threads explodes exponentially.... It ends up launching several hundreds to thousands of threads which consequently make my computer unresponsive for quite a while, and I usually have to reboot it afterwards because something important stopped working.

I think for some reason the --jobs= flag is getting compounded recursively.

Quoted 6 lines

Admittedly, there appears to be some deeper bug with the job parallelism that needs to be looked into, but this at least allows me to continue working (by setting PARALLEL_XDC = "" in local.conf) in the meantime.

I'm on the latest HEAD of morty BTW.

Do you only see this behavior on morty? What about rocko/master?

I've asked around and we don't see this issue internally and we do a lot of builds in our build farm on a daily basis...

Since this is otherwise a harmless change, I don't mind merging it. Please let me know if you actually do need it in all 3 branches. Thanks.

Quoted 26 lines
Quoted 26 lines
Quoted 26 lines
---
 classes/ti-pdk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
classes/ti-pdk.bbclass +1 -1
index 540a665c..0b0c9ffe 100644
@@ -63,7 +63,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
 
 TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
 
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC ?= "--jobs=${BB_NUMBER_THREADS}"
 PARALLEL_MAKE = ""
 
 def get_doxygen_support(d):
Signature · 7 lines
2.14.3

-- 
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti
#4 lore raw
Quoted 29 lines · Denys Dmytriyenko
Quoted 17 lines · Joshua Watt
Quoted 4 lines · Denys Dmytriyenko
Quoted 1 line · Joshua Watt

Allowing it to be overridden in local.conf

Why?

For some reason, when some ti-pdk recipes are built on my machine, the
number of threads explodes exponentially.... It ends up launching several hundreds to thousands of threads which consequently make my computer unresponsive for quite a while, and I usually have to reboot
it afterwards because something important stopped working.

I think for some reason the --jobs= flag is getting compounded recursively.

Quoted 8 lines

Admittedly, there appears to be some deeper bug with the job parallelism that needs to be looked into, but this at least allows me
to continue working (by setting PARALLEL_XDC = "" in local.conf) in the
meantime.

I'm on the latest HEAD of morty BTW.

Do you only see this behavior on morty? What about rocko/master?

Quoted 7 lines

I've asked around and we don't see this issue internally and we do a lot of
builds in our build farm on a daily basis...

Since this is otherwise a harmless change, I don't mind merging it. Please let
me know if you actually do need it in all 3 branches. Thanks.

Ya, sorry. I've been meaning to loop back around on this one. I was able to track this down a bit further to the ti-ipc-rtos recipe. For some reason, that specific recipe behaves very poorly on my machine, launching thousands of threads. I'm not sure where to go about debugging that if you happen to have any hints, I can look into it.

For some reason, the ti-ipc-rtos recipe doesn't respect PARALLEL_XDC like all the other recipes, as it manually adds:

JOBS="--jobs=${BB_NUMBER_THREADS}"

to EXTRA_OEMAKE. I had to make an additional local change:

JOBS="${PARALLEL_XDC}"

If that can be sorted out, this patch is probably not necessary on all branches at the current time. It does seem like behavior that would be nice to control, but I think it is also incomplete at this point because you probably want the change described above, and also want to add:

BB_HASHBASE_WHITELIST_append = " PARALLEL_XDC"

to layer.conf to prevent changes to the variable from causing unnecessary rebuilds.

I'll push up a new patchset with these changes and you can decide if you want it on master. Any insight (or debugging tips) as to why ti- ipc-rtos behaves so badly (on morty at least) would be greatly appreciated.

Thanks,
Joshua Watt

Quoted 28 lines
Quoted 28 lines
Quoted 28 lines
Quoted 28 lines
---
 classes/ti-pdk.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
classes/ti-pdk.bbclass +1 -1
index 540a665c..0b0c9ffe 100644
@@ -63,7 +63,7 @@ TI_PDK_DOXYGEN_SUPPORT ?= "1"
 
 TI_PDK_XDC_ARGS ?= "${TI_PDK_LIMIT_SOCS}"
 
-PARALLEL_XDC = "--jobs=${BB_NUMBER_THREADS}"
+PARALLEL_XDC ?= "--jobs=${BB_NUMBER_THREADS}"
 PARALLEL_MAKE = ""
 
 def get_doxygen_support(d):
Signature · 7 lines
2.14.3

-- 
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti