Love to see redis being debugged in the open. I wish more folks did this, I’ve been really enjoying it. It’s fun and educational to see how folks debug fundamental issues like this.
Heh. superpages for the lose. I’ve always been a little sceptical of automatic creation of superpages (perhaps without much reason, but it’s nice to see some validation :)). If an application knows it can use a superpage, let it, but forcing them on apps can be unpleasant.
Large pages are good when you’re accessing a large range of memory relatively randomly - such as might happen when you have a large and heavily fragmented heap. In this case the virtual memory subsystem has an increased rate of TLB misses and you start semi-invisibly suffering from reduced performance since a lot of your time is spent loading up small page table entries. Disabling large pages will increase the number of TLB misses to some degree and in some (fairly unusual) applications that may affect performance significantly.
Love to see redis being debugged in the open. I wish more folks did this, I’ve been really enjoying it. It’s fun and educational to see how folks debug fundamental issues like this.
Heh. superpages for the lose. I’ve always been a little sceptical of automatic creation of superpages (perhaps without much reason, but it’s nice to see some validation :)). If an application knows it can use a superpage, let it, but forcing them on apps can be unpleasant.
Also: http://www.pvk.ca/Blog/2014/02/18/how-bad-can-1gb-pages-be/
What are the downsides of disabling huge pages?
Large pages are good when you’re accessing a large range of memory relatively randomly - such as might happen when you have a large and heavily fragmented heap. In this case the virtual memory subsystem has an increased rate of TLB misses and you start semi-invisibly suffering from reduced performance since a lot of your time is spent loading up small page table entries. Disabling large pages will increase the number of TLB misses to some degree and in some (fairly unusual) applications that may affect performance significantly.