Re: Make pipe data structure be a circular list of pages, ratherthan

From: Linus Torvalds
Date: Sat Jan 08 2005 - 17:01:10 EST




On Sat, 8 Jan 2005, Lee Revell wrote:
>
> Many latency critical apps use (tmpfs mounted) FIFO's for IPC; the Linux
> FIFO being one of the fastest known IPC mechanisms. Each client in the
> JACK (http://jackit.sf.net) graph wakes the next one by writing a single
> byte to a FIFO. Ardour's GUI, control, and audio threads interact via a
> similar mechanism. How would you expect this change to impact the inter
> thread wakeup latency? It's confusing when people say "performance",
> meaning "increased throughput albeit with more latency". For many
> people that's a regression.

I posted the performance numbers in the thread already, and with every
single throughput number I also talked abotu what the latency difference
was. So quite frankly, if you were confused, I suspect it was because you
didn't read them. Tssk, tssk.

Short and sweet: the latency changes are in the noise for SMP, but can be
seen on UP. I'll look at it a bit more: since I had to add the coalescing
code anyway, I might also decide to re-use a buffer page rather than free
it immediately, since that may help latency for small writes.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/