Posts
473
Following
87
Followers
92
n00b Kernel Hacker
- Ex-Intern @ NVIDIA Korea (Security System Software) (2024.06-2024.11)
- Ex-Intern @ Panmneisa (CXL emulation stuff) (~2023.12)
- Undergraduate majoring CSE (estimated graduation: Feb. 2025)
- Working as reviewer at Linux Slab subsystem
- Born in August 6, 2000

Opinions are my own.

My interests are:
Memory Management,
Computer Architecture,
Circuit Design,
Virtualization
first time using GCOV, it's pretty nice.
0
0
1
Edited 1 year ago
now I'm slowly getting how CXL manages cache coherence of device memory (HDM-{H,D,DB}). my head aches.

BTW this is a good material to grasp some important concepts of of CXL.

https://arxiv.org/abs/2306.11227

Even if it's not the final version yet.
0
0
2
Edited 1 year ago
progress of this week:

#kerneltesting side project

Now my testing system can submit and run LAVA [1] test jobs automatically after jenkins [2] build!

[1] https://lava.kerneltesting.org/scheduler/alljobs
[2] https://jenkins.kerneltesting.org/job/slab/

currently it runs those:
- a subset of mm LTP testcases
- hackbench for a very short time
0
1
6
Edited 1 year ago
```
As a bit of history, in the early days of PCI the spec writers anticipated cases
where PCI would actually replace the processor bus.
```
from "PCI Express Technology 3.0", MindShare

And yeah, that seems to be revived in 2019 by Intel, in the name of IAL (Intel Accelerator Link), which was renamed to CXL (Compute Express Link) later. The main reason why Intel donated IAL was to avoid making the industry fragmented. Later CXL consortium was founded and over 250 companies now contribute to the specification. Including my company! (who hired me as an intern)
0
1
3
Edited 1 year ago
it is interesting to learn how PCIe endpoints and switches implements their own protocols (similar to network protocols) for communication (PCIe transport/data link/physical layers)

but since I know very little about electronics some topics are hard to understand, like why it's difficult to increase speed in parallel bus architecture or why errors occur during transmission, or why DC components should be avoided.
3
0
0
until yesterday I didn't know that my laptop has 2 NUMA nodes, but why?
2
0
3
Edited 1 year ago
Learning how to write a LAVA test definition, but the tricker thing is to decide which tests to run to verify a kernel works fine.

Candidates:
- LTP
- KUnit
- kselftests

btw it is funny that the entire LTP suite gets killed every time it runs oom testcases. and LTP takes quite long time for a lightweight testing.

hmm... maybe run only a smaller subset of them?
0
0
1
Edited 1 year ago
Today I learned:

CXL memory can be mapped as 'System RAM' or 'Soft Reserved' by platform firmware. Or it can be dynamically provisioned by (since v6.3) CXL region driver.

And 'Soft Reserved' or dynamically provisioned CXL RAM region can be used in two ways:

1. Applications mmap() to /dev/daxX.Y files, just like traditional persistent memory devices.
2. Kernel use it as System RAM via dax_kmem driver.

And a weird fact is that when dax_kmem onlines CXL (and other performance-differentiated like pmem) memory, to ZONE_NORMAL, not ZONE_MOVABLE.
2
0
1
Working on a series for 6.8 probably...
So far...
26 files changed, 39 insertions(+), 4375 deletions(-)
3
2
16
Edited 1 year ago
Booting the latest kernel is always fun ;)

I was hit by BUG_ON() because I enabled CONFIG_DEBUG_VIRTUAL=y.
It made my machine crash and I wrote and sent a quick hack to fix this.

https://lore.kernel.org/lkml/CAB=+i9QiJ=BXkQuCFJTh3dMXrkKQvVA2EM51Mj6SsDMimWQ71g@mail.gmail.com

Today I learned:

- Better to use proper tags for regzbot next time I report something, don't make @kernellogger do that instead of me.

- __init and __exit are compiler attributes that makes functions to be in specific ELF sections (.init.text and .exit.text), to drop portions of unused kernel code.

- When a kernel feature is built into kernel rather than built as a module, functions marked __init are dropped after initialization and functions marked __exit are dropped and never used. because you can't unload a built-in kernel feature ;)

- Some architectures drop .exit.text section at link time, but some drop at runtime. this is due to complexity of link-time reference counting between functions (? which I have no idea yet)

- On architectures that drop it at runtime, functions marked __exit are dropped in free_initmem() because .exit.text section is between __init_begin and __init_end.

- I need an automatic bisection system to save time in the future.

One piece of information I'm missing here is why it did not crash before the commit :(
2
0
4

Thorsten Leemhuis (acct. 1/4)

"[…] Instead of accepting my [] patch or guiding me towards a better solution, he went ahead and implemented his own fix, giving me credit only for reporting the issue […]

My first contribution to the [] was a really frustrating and discouraging experience, dealing with people who do not think it’s important to get proper recognition for your work. […]"

https://ariel-miculas.github.io/How-I-got-robbed-of-my-first-kernel-contribution/

1/ Side note: I sometimes wonder if…

2
3
1
Edited 1 year ago
My android phone kills the chrome app very often. It is painful that I can't see system logs. I suspect it was the OOM killer that kills it.
2
0
4
nice 6 days break for Chuseok! (korean thanksgiving day)
@sj 즐거운 추석 되세요 :)
2
0
3

Welcome to the cycle of generative AI making search worse.

Quora uses ChatGPT which hallucinates an answer to a nonsense question.

Google Search picks up this nonsense answer from Quora which has high page rank and treats it as an instant answer.

9
11
3
"Subscribing" to mailing lists via sourcing a pop3 mailbox from lore.kernel.org now works. Should be of particular interest to gmail users.

I'll document after some more initial testing.
1
5
12
Edited 1 year ago
small progress on the kernel testing side project: I did setup LAVA instance in addition to Jenkins and made it publicly available.

it took few weeks due to issues with hardware :(

this is home server so can't provide excellent stability and uptime but here it is:

https://lava.kerneltesting.org
https://jenkins.kerneltesting.org
2
0
2
my jenkins VM was mysteriously shut down continuously without any log. I spent some time figuring out why, but it was the host's OOM killer that killed it. chrome tabs that I forgot to close was eating up 100% of the memory. fun ;)

but 32gib for a browser was too much? was it memory leak?
1
0
1
Show older