|
|
Log in / Subscribe / Register

Mazzoli: How fast are Linux pipes anyway?

Mazzoli: How fast are Linux pipes anyway?

Posted Jun 2, 2022 16:00 UTC (Thu) by atnot (guest, #124910)
Parent article: Mazzoli: How fast are Linux pipes anyway?

This was super interesting!

One thing I'm a bit curious about: The hardware has support for resolving virtual memory and also has a handy dedicated TLB cache for it. The article mentions that the kernel reimplements this behavior. Is it possible for operating systems to take advantage of this dedicated hardware? Say, with a "resolve physical address" instruction. If not, is there a reason this isn't being done?

I know there are architectures where the opposite is done (the hardware calls into the kernel to resolve physical addresses), so perhaps get_user_pages just isn't performance critical enough outside of synthetic benchmarks like these?


to post comments

Mazzoli: How fast are Linux pipes anyway?

Posted Jun 2, 2022 16:12 UTC (Thu) by Bigos (subscriber, #96807) [Link] (1 responses)

I believe the get_user_pages* call also increments the reference count on struct page, which I would say should be the bottleneck here.

Mazzoli: How fast are Linux pipes anyway?

Posted Jun 4, 2022 1:55 UTC (Sat) by scientes (guest, #83068) [Link]

get_user_pages_* was a personal project of Linus Torvalds, who voiced regret over ever adding splice, because it failed to live up to its expectations. I feel this article has (finally) explained to me what those expectations were.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds