{"push_id":630141929,"size":8,"distinct_size":8,"ref":"refs/heads/1.24","head":"34226a9e02f319a7547967bbdaca3ca918927dd1","before":"923fc5ee0ace02cc29110bff502a2c65e6bdebf0","commits":[{"sha":"2835b12288cf0c46586d6f708a0ee0b5e025cba3","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"bitbake: Add pyinotify to lib/\n\nWe need inotify support within bitbake and pyinotify provides the best\nmechanism to add this. We have a few options:\n\na) Depend on pyinotify from the system\nb) Add in our own copy\nc) Only use pyinotify in cases like the memory resident server\n\nFor a), it would mean adding in dependencies, updating documentation and\ngenerally creating churn for users as well as having implications for things\nlike the build-appliance recipe.\n\nIt turns out that glibc has the C functionality we need from version 2.4\nonwards (2006) and that we just need a single python file for b), there\nis no binary module needed. We therefore add in a copy of pyinotify 0.9.5\ninto the tree meaning we can depend on it simply and unconditionally.\n\nc) is unattractive as we need fewer possible code paths, not more.\n\n(Bitbake rev: d49004a4e247e3958a2f7ea9ffe5ec92794e1352)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/2835b12288cf0c46586d6f708a0ee0b5e025cba3"},{"sha":"47809de6459deb346929e4ca6efa87a997cfcb38","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"cooker/cache/parse: Implement pyinofity based reconfigure\n\nMemory resident bitbake has one current flaw, changes in the base configuration\nare not noticed by bitbake. The parsing cache is also refreshed on each invocation\nof bitbake (although the mtime cache is not cleared so its pointless).\n\nThis change adds in pyinotify support and adds two different watchers, one\nfor the base configuration and one for the parsed recipes.\n\nChanges in the latter will trigger a reparse (and an update of the mtime cache).\nThe former will trigger a complete reload of the configuration.\n\nNote that this code will also correctly handle creation of new configuration files\nsince the __depends and __base_depends variables already track these for cache\ncorrectness purposes.\n\nWe could be a little more clever about parsing cache invalidation, right now we just\ninvalidate the whole thing and recheck. For now, its better than what we have and doesn't\nseem to perform that badly though.\n\nFor education and QA purposes I can document a workflow that illustrates this:\n\n$ source oe-init-build-env-memres\n$ time bitbake bash\n[base configuration is loaded, recipes are parsed, bash builds]\n$ time bitbake bash\n[command returns quickly since all caches are valid]\n$ touch ../meta/classes/gettext.bbclass\n$ time bitbake bash\n[reparse is triggered, time is longer than above]\n$ echo 'FOO = \"1\"' >> conf/local.conf\n$ time bitbake bash\n[reparse is triggered, but with a base configuration reload too]\n\nAs far as changes go, I like this one a lot, it makes memory resident bitbake\ntruly usable and may be the tweak we need to make it the default.\n\nThe new pyinotify dependency is covered in the previous commit.\n\n(Bitbake rev: 0557d03c170fba8d7efe82be1b9641d0eb229213)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/47809de6459deb346929e4ca6efa87a997cfcb38"},{"sha":"6d0abc6a5c9b8b37eecfa63fbcb5343162bc9311","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"cooker: Fix pyinotify handling of ENOENT issues\n\nWe try and add watches for files that don't exist but if they did, would influence\nthe parser. The parent directory of these files may not exist, in which case we need\nto watch any parent that does exist for changes. This change implements that fallback\nhandling.\n\n(Bitbake rev: 979ddbe4b7340d7cf2f432f6b1eba1c58d55ff42)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/6d0abc6a5c9b8b37eecfa63fbcb5343162bc9311"},{"sha":"6ab3945fc54b2a242292a874d78ebd8cccb99573","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"cooker: Further optimise pyinotify\n\nWe currently add crazy numbers of watches on files. The per user limit is 8192\nby default and on a system handling multiple builds, this can be an issue.\n\nWe don't need to watch all files individually, we can watch the directory containing\nthe file instead. This gives better resource utilisation and better performance\nfurther reverting some of the performance regression seen with the introduction\nof pyinotify.\n\n(Bitbake rev: a2d441237916a99405b800c1a3dc39f860100a8c)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/6ab3945fc54b2a242292a874d78ebd8cccb99573"},{"sha":"f668b347a8f9563f41d454288b9d4632190f308f","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"cooker: Improve pyinotify performance\n\nBenchmarks show that the introduction of pyinotify regressed\nperformance. This patch ensures we only call the add_watch() function\nfor new entries, not ones we've already processed which does improve\nperformance as measured by \"time bitbake -p\".\n\nThis doesn't completely remove the overhead but it does substantially\nreduce it.\n\n(Bitbake rev: 493361f35f6cc332d4ea359a2695622c2c91a9c2)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/f668b347a8f9563f41d454288b9d4632190f308f"},{"sha":"b44694b1efc7389536df2f901a8b70321edfeeba","author":{"email":"dca11ad146909de2e237c885165c72737f425f51@intel.com","name":"Alexandru DAMIAN"},"message":"cooker: read file watches on server idle\n\nThe inotify facility monitoring changes to the config files\ncould be overwhelmed by massive changes to the watched files\nwhile server is running.\n\nThis patch adds verification the notification watches to the\nserver idle functions, in addition to the cooker updateCache\ncommand which executes only infrequently, thus preventing\noverflowing the notification buffer.\n\n[YOCTO #7316]\n\n(Bitbake rev: 996e663fd5c254292f44eca46f5fdc95af897f98)\n\nSigned-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/b44694b1efc7389536df2f901a8b70321edfeeba"},{"sha":"88dfe16b5abd804bae0c1e3b60cb93cb951cbc3f","author":{"email":"3b7a1db6efedd40440bc6443bf377195011524e5@linuxfoundation.org","name":"Richard Purdie"},"message":"cooker/server: Fix up 100% CPU usage at idle\n\nThe recent inotify changes are causing a 100% cpu usage issue in the\nidle handlers. To avoid this, we update the idle functions to optionally\nreport a float value which is the delay before the function needs to be\ncalled again. 1 second is fine for the inotify handler, in reality its\nmore like 0.1s due to the default idle function sleep.\n\nThis reverts performance regressions of 1.5 minutes on a kernel build\nand ~5-6 minutes on a image from scratch.\n\n(Bitbake rev: 0e0ba408c2dce14a0fabd3fdf61d8465a031495b)\n\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/88dfe16b5abd804bae0c1e3b60cb93cb951cbc3f"},{"sha":"34226a9e02f319a7547967bbdaca3ca918927dd1","author":{"email":"67c688e7f7482ba5c4ebe3d70bc77594748182a6@ni.com","name":"Richard Tollerton"},"message":"data.py: fixes bad substitution when running devshell\n\nRunning bitbake inside make results in the exported environment variable\nMAKEOVERRIDES=\"${-*-command-variables-*-}\", which the shell chokes on\nwhen trying to expand it. But of course, it probably shouldn't have been\ntrying to expand it in the first place -- so just escape the dollar\nsign.\n\n(Bitbake rev: 18cd0ce6a55c9065c3f1bf223b47d817b5efcd8f)\n\nSigned-off-by: Richard Tollerton <rich.tollerton@ni.com>\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>\nSigned-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>\nSigned-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>","distinct":true,"url":"https://api.github.com/repos/madisongh/bitbake/commits/34226a9e02f319a7547967bbdaca3ca918927dd1"}]}