Re: bitbake controlling memory use
Ferry Toth
Hi,
On 10-01-2023 02:57, Randy MacLeod wrote: Add Zheng.The work is actually Richard's. I only fixed what broke over time. I've been thinking about the various workflows and as Richard said, it seemsWhat I read, gcc has already -flto=jobserver. Other (single threaded CPU intensive) might just be started from jobclient? ../RandyYeah, I'd rather teach the kernel to consider thrashing when scheduling jobs. As is now any user process can slow down any other users process and even the kernel itself to a standstill. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Add Zheng.
Switch to Trevor's gmail since he might still be interested in this. On 2023-01-09 05:49, Ferry Toth via lists.yoctoproject.org wrote: HiZheng and I *started* on that for make over the Xmas holiday. See the (poorly formatted) thread: Add support for limiting CPU pressure, contrib, 2022/12/20 in: https://lists.gnu.org/archive/html/bug-make/2022-12/threads.html There were mixed reviews upstream with the maintainer, Paul Smith, seeming to prefer that we investigate the job server approach and the current load averaging. I'll happily try to find time to play with Ferry's job server work. I've been thinking about the various workflows and as Richard said, it seems that for many people who only do one build at a time, the job server and maybe a little linker restraint, would be all that's needed. For activities such as YP AB, we could teach the main job server to also look at /proc/pressure as a way to limit the pool size we could make a meta-jobserver for those who don't want/need to worry about non-compile tasks such as tests and build clean-up. Note that cargo has the notion of a job server: https://github.com/rust-lang/cargo/issues/1744 https://github.com/rust-lang/cargo/pull/4110 and ninja has an open issue: https://github.com/ninja-build/ninja/issues/1139 and an initial implementation: https://github.com/stefanb2/ninja/tree/topic-jobserver-fifo What other build tools are in need of regulation and/or job server patches? ../Randy --Yeah, I'd rather teach the kernel to consider thrashing when scheduling jobs. As is now any user process can slow down any other users process and even the kernel itself to a standstill. # Randy MacLeod # Wind River Linux |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Enhancements/Bugs closed WW01!
Stephen Jolley
All,
Thanks, Ā Stephen K. Jolley Yocto Project Program Manager (Ā Ā Ā Cell:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā (208) 244-4460 * Email:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā sjolley.yp.pm@... Ā |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Current high bug count owners for Yocto Project 4.2
Stephen Jolley
All,
Thanks, Ā Stephen K. Jolley Yocto Project Program Manager (Ā Ā Ā Cell:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā (208) 244-4460 * Email:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā sjolley.yp.pm@... Ā |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Yocto Project Newcomer & Unassigned Bugs - Help Needed
Stephen Jolley
All, Ā The triage team is starting to try and collect up and classify bugs which a newcomer to the project would be able to work on in a way which means people can find them. They're being listed on the triage page under the appropriate heading: https://wiki.yoctoproject.org/wiki/Bug_Triage#Newcomer_BugsĀ Also please review: https://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded and how to create a bugzilla account at: https://bugzilla.yoctoproject.org/createaccount.cgi The idea is these bugs should be straight forward for a person to help work on who doesn't have deep experience with the project.Ā If anyone can help, please take ownership of the bug and send patches!Ā If anyone needs help/advice there are people on irc who can likely do so, or some of the more experienced contributors will likely be happy to help too. Ā Also, the triage team meets weekly and does its best to handle the bugs reported into the Bugzilla. The number of people attending that meeting has fallen, as have the number of people available to help fix bugs. One of the things we hear users report is they don't know how to help. We (the triage team) are therefore going to start reporting out the currently 417 unassigned or newcomer bugs. Ā We're hoping people may be able to spare some time now and again to help out with these.Ā Bugs are split into two types, "true bugs" where things don't work as they should and "enhancements" which are features we'd want to add to the system.Ā There are also roughly four different "priority" classes right now, Ā ā4.2ā, ā4.3ā, "4.99" and "Future", the more pressing/urgent issues being in "4.2" and then ā4.3ā. Ā Please review this link and if a bug is something you would be able to help with either take ownership of the bug, or send me (sjolley.yp.pm@...) an e-mail with the bug number you would like and I will assign it to you (please make sure you have a Bugzilla account).Ā The list is at: https://wiki.yoctoproject.org/wiki/Bug_Triage_Archive#Unassigned_or_Newcomer_Bugs Ā Thanks, Ā Stephen K. Jolley Yocto Project Program Manager (Ā Ā Ā Cell:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā (208) 244-4460 * Email:Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā sjolley.yp.pm@... Ā |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Git repo setup for Yocto upstream contribution
Alexandre Belloni
On 09/01/2023 19:30:36+0100, Alexander Kanavin wrote:
On Mon, 9 Jan 2023 at 19:23, Alexandre BelloniJust try to apply your patch on a bitbake repository, it will reproduce. -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Git repo setup for Yocto upstream contribution
Alexander Kanavin
On Mon, 9 Jan 2023 at 19:23, Alexandre Belloni
<alexandre.belloni@...> wrote: No, please send patches against the correct git tree, else you areWe never got to the bottom of what happened to that one. Part of the patch applied correctly, the other part did not. Alex |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Git repo setup for Yocto upstream contribution
Alexandre Belloni
On 09/01/2023 10:29:13+0100, Alexander Kanavin wrote:
I've been making patches against an integrated poky checkout for manyNo, please send patches against the correct git tree, else you are putting more load on the maintainers than necessary. This was the cause of: https://lore.kernel.org/all/Y5Sr9HSWIc5LVzl9@mail.local/ This can silently fail and then you need to wait for 7hours for the AB to fail and this delays testing for one more day. Alex -- Alexandre Belloni, co-owner and COO, Bootlin Embedded Linux and Kernel engineering https://bootlin.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: [qa-build-notification] QA notification for completed autobuilder build (yocto-4.1.2.rc1)
Jing Hui Tham
Hi all,
toggle quoted message
Show quoted text
Intel and WR YP QA is planning for QA execution for YP build yocto-4.1.2.rc1. We are planning to execute following tests for this cycle: OEQA-manual tests for following module: 1. OE-Core 2. BSP-hw Runtime auto test for following platforms: 1. MinnowTurbot 32-bit 2. NUC 7 3. ADL 4. TGL NUC 11 5. Edgerouter 6. Beaglebone ETA for completion Thursday, 12th Jan 2023. Best regards, Jing Hui -----Original Message----- |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Git repo setup for Yocto upstream contribution
Yoann Congal
On 1/9/23 10:29, Alexander Kanavin wrote:
I've been making patches against an integrated poky checkout for manyOk, I'll keep it that way. Thanks! Alex-- Yoann Congal Smile ECS - Tech Expert |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Ferry Toth
Hi On 09-01-2023 11:43, Richard Purdie
wrote:
On Mon, 2023-01-09 at 11:39 +0100, Alexander Kanavin wrote:On Sun, 8 Jan 2023 at 23:13, Ferry Toth <fntoth@...> wrote:Now it works I'm not sure what to do. Richard marked the original patch as WIP. Maybe it's not appropriate for including into poky? If so I wouldn't mind carrying it in meta-intel-edison. Or may be with a little work (from me) and a run on the CI servers we could make it go in?I'd rather teach make/ninja upstream to watch memory consumption and/or host pressure directly (e.g. similar to how it handles -l). And offer any resulting patches to upstream first.Whilst teaching make/ninja about pressure is probably a nice idea, I think there is a use case for sharing the job pool between bitbake tasks rather than having a job pool per task since that scales badly. One issue that comes to mind with the patch is that it is currently writing into /tmp/ and we likely need to work out a better location for the job server fifo. Currently that would break things on the autobuilder as there are multiple builds on a given host. Ha, I didn't consider multiple bitbakes running simultaneously. Maybe the location /tmp is fine but we would need a unique
(random?) filename instead of makefifo? Cheers, Richard |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
kirkstone: issue with fetching sources using tag
Marek Belisko
Hi,
I'm moving my layers from dunfell to kirkstone and for some recipes I'm hitting an issue with following fetch issue: Bitbake Fetcher Error: FetchError("Recipe uses a floating tag/branch without a fixed SRCREV yet doesn't call bb.fetch2.get_srcrev() (use SRCPV in PV for OE).", None) My SRC_URI looks like this: SRC_URI = "git://mysupersecretgitproject.git;protocol=https;branch=master;tag=v${PV}" and PV is properly set to tag name. By adding this to beginning of recipe it seems it start working: python() { bb.warn("SRCPV:%s"%d.getVar("SRCPV")) } Any ideas what am I missing? Thanks and regards, marek -- as simple and primitive as possible ------------------------------------------------- Marek Belisko - OPEN-NANDRA Freelance Developer Ruska Nova Ves 219 | Presov, 08005 Slovak Republic Tel: +421 915 052 184 skype: marekwhite twitter: #opennandra web: http://open-nandra.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Ferry Toth
Hi
On 09-01-2023 11:39, Alexander Kanavin wrote: On Sun, 8 Jan 2023 at 23:13, Ferry Toth <fntoth@...> wrote:Yeah, I'd rather teach the kernel to consider thrashing when scheduling jobs. As is now any user process can slow down any other users process and even the kernel itself to a standstill.Now it works I'm not sure what to do. Richard marked the original patchI'd rather teach make/ninja upstream to watch memory consumption But kernel developers consider those issues "orthogonal" (i.e. they don't want to make the scheduler aware of io). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Richard Purdie
On Mon, 2023-01-09 at 11:39 +0100, Alexander Kanavin wrote:
On Sun, 8 Jan 2023 at 23:13, Ferry Toth <fntoth@...> wrote:Whilst teaching make/ninja about pressure is probably a nice idea, INow it works I'm not sure what to do. Richard marked the original patchI'd rather teach make/ninja upstream to watch memory consumption think there is a use case for sharing the job pool between bitbake tasks rather than having a job pool per task since that scales badly. One issue that comes to mind with the patch is that it is currently writing into /tmp/ and we likely need to work out a better location for the job server fifo. Currently that would break things on the autobuilder as there are multiple builds on a given host. Cheers, Richard |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Alexander Kanavin
On Sun, 8 Jan 2023 at 23:13, Ferry Toth <fntoth@...> wrote:
Now it works I'm not sure what to do. Richard marked the original patchI'd rather teach make/ninja upstream to watch memory consumption and/or host pressure directly (e.g. similar to how it handles -l). And offer any resulting patches to upstream first. Alex |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: Git repo setup for Yocto upstream contribution
Alexander Kanavin
I've been making patches against an integrated poky checkout for many
toggle quoted message
Show quoted text
years, including bitbake patches. They're usually correctly picked up and applied; you only need to ensure you route them to correct mailing lists. Alex On Sat, 7 Jan 2023 at 14:05, Yoann Congal <yoann.congal@...> wrote:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: roundup feature for Wic partitions?
Alexander Kanavin
There is; the source code for wic and its tests are fully available to
you, so you are welcome to implement the missing bits and submit them for review and inclusion. Also, we do not have a wic maintainer. Alex On Sat, 7 Jan 2023 at 00:29, Benjamin Mordaunt <crawford.benjamin15@...> wrote:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: How to make root file system writable?
Alexander Kanavin
It helps if you show your build configuration, e.g. the output of
toggle quoted message
Show quoted text
'bitbake -e core-image-full-cmdline'. Alex On Mon, 9 Jan 2023 at 09:01, <jovanbosic95@...> wrote:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
How to make root file system writable?
jovanbosic95@...
After bitbakingĀ core-image-full-cmdline, my root file system is readable only. How to make it writable? Is there something I have to change in local.conf?
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Re: bitbake controlling memory use
Ferry Toth
Hi,
Just in case you are interested in the result. Op 03-01-2023 om 18:33 schreef Alexander Kanavin: On Tue, 3 Jan 2023 at 16:58, Ferry Toth <fntoth@...> wrote:I got Richards patch "Add shared make jobserver support <https://github.com/htot/poky/commit/28fd4b9e6e60bdd07352827ec713510ae86a39c6>" working again. It was a bit more work then last time, it was broken in 3 places (poky, make and python). Find it here: https://github.com/htot/poky/commits/kirkstoneI know you don't want to spend time on this. So don't. Others may have It works by making each make believe it is a submake, while the named pipe holding the execution tokens is created by bitbake. Of course as is it only limits number of threads started by make, not ninja. On my machine (16 threads) while compiling (linux, nodejs, nodejs-native etc.) simultaneously this limits memory consumption to ~14GB RAM. A little less then 1GB/thread. Linking nodejs is another story. Each thread uses 4-5GB, and the recipe allows 5 threads simultaneously. With a nodejs_%.bbappend: EXTRA_OEMAKE:prepend = "\ LINK='flock /tmp ${CXX}' \ " only one thread will be linked simultaneously. This brought my image build time from 3h > 1u47m (that is after removing out and sstate, not bbcache so excluding download time for sources). In principle we could use jobclient to start other programs then make, but for meta-intel-edison I didn't see any that would benefit from this.Or alternatively something based on https://github.com/olsner/jobclient. It would be nice if ninja could use the same named pipe for the execution tokens as make, that might be for another holiday. By all means please do. Everyone will benefit from teaching make toAh, yes, that is a known problem. Like I said, this was for me just a little holiday project. Now it works I'm not sure what to do. Richard marked the original patch as WIP. Maybe it's not appropriate for including into poky? If so I wouldn't mind carrying it in meta-intel-edison. Or may be with a little work (from me) and a run on the CI servers we could make it go in? Alex |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|