KVABIO and what it means

Matthew Dillon has added KVABIO, an API for avoiding the need to sync the TLB across all CPUs before continuing.  What’s this mean?  The more CPUs you are dealing with, the longer it takes to make sure all of them have the same cached view of the virtual memory.   There’s a tradeoff – caching that view speeds up memory access, but the time cost of the synchronization can erase those benefits.

This API is now supported for NVMe and swap, HAMMER2, and tmpfs.  Note that those last two links show a huge drop in IPI messaging.  In the real world, this showed about a 5% improvement in performance for CPU-intensive work like complete synth builds.  (Based on IRC conversations.)

2 Replies to “KVABIO and what it means”

  1. Is this something application developers would need to use … or just Dfly OS developers?

Comments are closed.

To respond on your own website, enter the URL of your response which should contain a link to this post's permalink URL. Your response will then appear (possibly after moderation) on this page. Want to update or remove your response? Update or delete your post and re-enter your post's URL again. (Find out more about Webmentions.)

Mentions

  • Justin Sherrill
  • Anonymous