Posts
491
Following
97
Followers
113
A relatively new professional kernel hacker, born in August 6, 2000, and living in Korea (South!).

- Linux Kernel Developer @ Oracle (Linux Kernel MM) (2025.02 ~ Present)
- Reviewer for the Linux Slab subsystem
- Former Intern @ NVIDIA, SK Hynix, Panmnesia (Security, MM and CXL)
- B.Sc. in Computer Science & Engineering, Chungnam National University (Class of 2025)

Opinions are my own.

My interests are:
Memory Management,
Computer Architecture,
Circuit Design,
Virtualization

Harry (Hyeonggon) Yoo

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

LWN.net is now @LWN@lwn.net

[$] Progress on no-GIL CPython https://lwn.net/Articles/947138/

0
2
1

Harry (Hyeonggon) Yoo

until yesterday I didn't know that my laptop has 2 NUMA nodes, but why?
2
0
3

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

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

Harry (Hyeonggon) Yoo

@ljs @vbabka You are very important person :)
2
0
3

Kees Cook (old account)

Edited 1 year ago

I'm really excited about making Use-After-Free exploits much harder in the .

CONFIG_RANDOM_KMALLOC_CACHES has landed:
https://git.kernel.org/linus/3c6152940584

CONFIG_SLAB_VIRTUAL is coming:
https://lore.kernel.org/lkml/20230915105933.495735-15-matteorizzo@google.com/

2
10
3

Harry (Hyeonggon) Yoo

writing code that will not be used at all is utterly frustrating and akin to creating garbage.
2
0
1

Harry (Hyeonggon) Yoo

Edited 1 year ago
Buried in the work... feeling like being a piece of shit. Oh, I should visit this:

https://hypebeast.com/2023/9/joan-cornella-vip-solo-exhibition-allrightsreserved-meet-project-em-gallery-seoul
1
0
3

Jonathan Corbet

It has happened at last: after many iterations, that x86 shadow-stack patch series has been accepted into the mainline for 6.6:

https://lwn.net/ml/linux-kernel/CAHk-=wipDVFEfSJxbnUSDqENs5i8RzSsgJOFdb69pH=b7BOFiQ@mail.gmail.com/

For those who haven't been following this saga, see https://lwn.net/Articles/926649/
0
10
18
Show older