The single-precision floating-point or double-precision floating-point has finite precision so loss of significance can happen and cause surprises.
This post shows the interaction between hugetlbfs and huge pages by an example program. All the results are based on linux 3.10.0-514.55.4.el7.x86_64.
In the Linux world, pid means two things. It’s the id of a process from POSIX’s point of view and the id of a task from kernel’s point of view.
Microbenchmark is used to measure the performance of a small piece of code for the purpose of performance optimization. Writing a good microbenchmark is hard and that’s why we should use microbenchmark frameworks (e.g. JMH for Java and Google Benchmark for C++) to help us. This post contains microbenchmarks that I think are interesting.
Hit a Linux kernel bug that
read() returns wrong data if it crosses a hugepage boundary.
SSH asks me to go way because of ntp clock skew
Last semester, I took the course 15410 and wrote a kernel from scratch with my partner. I learned a lot from this course and the kernel project. Following is what I have learned:
- Never Failed Functions
- Comment on Why
- Error Handling
- Why Writing a Kernel From Scratch