I often use "bitbake -e core-image-minimal | less" to interactively grep for variable values etc. While 'less' is blocking stdout, bitbake will use 100% CPU on one core until I scroll to the end of output (or quit 'less' to break the pipe). This is not a big deal, but if you like me keep one of these less-invokations running while writing recipes (to review variables), the CPU fan on my laptop will go nuts. I use bitbake 1.22, but I was also able to reproduce this on bitbake master (1ea658dcdfde5465d3ecdb97550e0a66cb8b122e as of writing, 2015-01-14). I expect bitbake with knotty UI to behave like other console programs, such as: python -c 'while True: print("foo")' | less .. which consumes no CPU while being blocked.
Some notes on this. If you specify bitbake -t xmlrpc, the system doesn't show the problem. Its therefore something to do with the process backend. It appears the cooker is trying to send an event to the client and the client is blocked sending data to the terminal. This leads to the event queue using a processor.
I think I found the problem, a bogus fd in a select call. Patch on the bitbake list.
http://git.yoctoproject.org/cgit.cgi/poky/commit/?id=793f2f2e69cf3e4ef57a13f07538226b082cf868