From: Josef Weidendorfer Date: Mon, 11 Dec 2006 20:54:55 GMT Subject: Re: [RFC \ WISH] Add -o option to git-rev-list Message-ID: <200612112154.56166.Josef.Weidendorfer@gmx.de> In-Reply-To: On Monday 11 December 2006 21:40, Linus Torvalds wrote: > On Mon, 11 Dec 2006, Josef Weidendorfer wrote: > > A general question: How many context switches are involved in such > > a producer/consumer scenario, given that the consumer writes one > > line at a time, and the consumer uses poll/select to wait for the > > data? > > Is there some possibility to make the kernel write-combine single > > small producer writes into bigger chunks, which will be delivered > > at once (or smaller data only after a small timeout)? > > The data will be write-combined. > > The kernel doesn't context-switch after a write() to a pipe if there is > space left (and usually the pipe buffer is 64kB with current kernels, so > there obviously will be), unless the reader has a higher priority for some > reason (ie the reader has been waiting a long time). Ah, thanks. So the implementation in Qt's QProcess is a little bit pessimistic, probably to make it work fine with other UNIXs out there.