generic-poky/bitbake/lib/bb
Richard Purdie b306d7d9a4 bitbake: server/process, server/xmlrpc, runqueue: Use select.select() on fds, not time.sleep()
The existing backend server implementations were inefficient since they
were sleeping for the full length of the timeouts rather than being woken when
there was data ready for them. It was assumed they would wake and perhaps did
when we forked processes directory but that is no longer the case.

This updates both the process and xmlrpc backends to wait using select(). This
does mean we need to pass the file descriptors to wait on from the internals
who know which these file descriptors are but this is a logical improvement.

Tests of a pathaolgical load on the process server of ~420 rapid tasks
executed on a server with BB_NUMBER_THREAD=48  went from a wall clock
measurement of the overall command execution time of 75s to a much more
reasonable 24s.

(Bitbake rev: 9bee497960889d9baa0a4284d79a384b18a8e826)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-09-01 15:51:10 +01:00
..
fetch2 bitbake: fetch2: fix unpack of .xz files 2013-07-31 06:59:59 +01:00
parse bitbake: parse: Return IOError when including file with absolute path 2013-08-26 11:29:46 +01:00
pysh bitbake: pysh: Say what kind of token isn't implemented 2013-05-10 13:35:10 +01:00
server bitbake: server/process, server/xmlrpc, runqueue: Use select.select() on fds, not time.sleep() 2013-09-01 15:51:10 +01:00
tests bitbake: test/fetch: Allow the conditional network tests to work under python 2.6 2013-05-17 12:42:08 +03:00
ui bitbake: hob: fixes for image combo box 2013-08-27 11:47:35 +01:00
COW.py Apply some 2to3 refactorings 2010-07-02 15:41:37 +01:00
__init__.py bitbake: bitbake: Update version to 1.19.1 2013-06-14 12:52:58 +01:00
build.py bitbake: build.py: create symlink for run.do_xxx scripts 2013-08-23 17:29:54 +01:00
cache.py bitbake: runqueue: Split runqueue to use bitbake-worker 2013-06-14 12:52:56 +01:00
cache_extra.py bitbake: cache_extra.py : added package information 2013-03-29 10:41:24 +00:00
checksum.py bitbake: implement checksums for local files in SRC_URI 2012-05-23 11:35:04 +01:00
codeparser.py bitbake: codeparser: Track bb.utils.contains usage 2013-02-15 12:12:35 +00:00
command.py bitbake: command.py: Call updateCache for all states != running 2013-08-26 13:43:47 +01:00
compat.py bitbake: compat/server/utils: Jettison pre python 2.7.3 workarounds 2013-06-14 17:26:30 +01:00
cooker.py bitbake: command.py: Call updateCache for all states != running 2013-08-26 13:43:47 +01:00
cookerdata.py bitbake: cookerdata: Allow bblayers.conf to be found using BBPATH 2013-08-30 17:42:39 +01:00
daemonize.py Apply some 2to3 transforms that don't cause issues in 2.6 2010-07-02 15:41:33 +01:00
data.py bitbake: hob & bitbake: append a value to a variable from hob throught bitbake 2013-08-06 13:02:24 +01:00
data_smart.py bitbake: data_smart: allow removal of multiple words at once with _remove 2013-08-28 00:34:13 +01:00
event.py bitbake: bitbake/event.py: UIhandler filter should work without a mask 2013-08-27 11:16:58 +01:00
exceptions.py bitbake/exceptions: Handle reports from the field of exception code failures 2012-05-25 11:15:12 +01:00
methodpool.py bitbake: methodpool: Retire it, remove global method scope 2013-05-24 10:34:52 +01:00
monitordisk.py bitbake: monitordisk.py: disable inode checking for btrfs 2013-04-15 15:57:31 +01:00
msg.py bitbake: event/msg: Add primitive server side UI log record filtering 2013-08-23 17:29:54 +01:00
namedtuple_with_abc.py bb.namedtuple_with_abc: add useful util from activestate 2011-06-08 20:38:23 +01:00
persist_data.py bitbake: persist_data: add get_by_pattern method to API 2013-01-22 15:35:06 +00:00
process.py bitbake: lib: Use modern expcetion syntax 2013-05-09 22:28:24 +01:00
providers.py bitbake: providers.py: print a debug message for dynamic pacakge 2013-07-29 15:25:08 +01:00
runqueue.py bitbake: server/process, server/xmlrpc, runqueue: Use select.select() on fds, not time.sleep() 2013-09-01 15:51:10 +01:00
shell.py Introduce new param caches_array into Cache impl. 2011-06-07 22:39:52 +01:00
siggen.py bitbake: runqueue: Split runqueue to use bitbake-worker 2013-06-14 12:52:56 +01:00
taskdata.py bitbake: taskdata: report close matches with NoProvider errors 2013-08-16 11:21:02 +01:00
tinfoil.py bitbake: tinfoil: fix for move of data attribute to cooker 2013-06-10 10:32:58 +01:00
utils.py bitbake: utils: Fix multiprocessing pool reference 2013-06-14 22:01:09 +01:00