Large Page and Large TLB Entries

Recently a friend of mine asked me some questions regarding large page. I felt like some of my old knowledge needs to be refreshed on Linux large page practice. Lots of credit to this post, which provides some useful knowledge regarding on how to use large page on Linux.

Read More

Integrating comments system

Today I ran into a great blog that gives an excellent instruction on how to integrate comments system to github page. I’ve integrated comments to my blog. Please feel leave a comment if you find any post interests you.

Read More

nvme-cli naming issue

Problem

Recently I was working on a couple of projects related the new key-value interfaced storage device (Samsung KV-SSD). The KV storage devices are adopted in the nvme standard and can be used simply as a nvme device. However, currently the nvme block devices and nvme kv devices use separated nvme drivers (nvme-core, nvme).

Read More

Architecture and software support for synchronization

Synchronization is an important issue in computer system since multi-task paradigm begins. Synchronization becomes more of an issue with the rise of the SMP (Symmetric Multi-Processing) systems. (Notice, even in single core processor, synchronization is required. When thread is scheduled, the register is saved which may cause an stale value for a shared variable). SMP systems add one more complexity of the cache coherence subsystem which also impact the synchronization performance. In this post, we’ll discuss some architecture and software supports for synchronization implementation.

Read More

Linux process address space layout

In this post, I will demonstrate the linux process address space layout, which is also a popular interview questions that can be digged deeply. Here we focus on modern x86_64 rather than 32 bits legacy x86 mode.

Read More