Posts
469
Following
90
Followers
94
n00b Kernel Hacker
- Intern @ NVIDIA Korea (Security System Software) (2024.06 ~)
- 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
@vbabka that's right ;)
0
0
1
@vbabka
interviewer: Throughout your career how much value did you add to Linux so far?
vbabka: I removed more than I added.
1
0
2
Edited 1 year ago
@ljs @cwayne
hmm it might sound strange but relatively young people in Korea don't seem to care about who live on next door anymore..
1
0
2
@cwayne
looks like to hate something first and then find (wrong) reason to explain it
1
0
2
@cwayne
would he/she help them if they go to church :(
1
0
1
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
@ljs @kernellogger
it won't land on the mainline ;)
(the consensus seems to be not using static calls in __exit)
but was fun!
0
0
2
Hmm both of ways seem to be very unstable for emulated CXL memory.
Crashes very easily when the memory is actually accessed by applications or the kernel.
0
0
0
Edited 1 year ago
Hmm I still don't get what's the point of accessing volatile CXL memory via mmap() to /dev/daxX.Y files.
0
0
0
@kernellogger
why did I read it as linux SRCU (Sleepable RCU) ;)
it's nice tool though!
1
0
2
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
@lkundrak @bagder

for a moment
was wondering whose face it is
0
0
1

Vlastimil Babka

Working on a series for 6.8 probably...
So far...
26 files changed, 39 insertions(+), 4375 deletions(-)
3
2
16
@djlink

looks like a horror movie poster lol
1
0
1
@ljs oh no, take care!
1
0
2
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
Edited 1 year ago
@ljs @thomy2000 Can I put both of books in my bag please?

Oh, I need much bigger bag...
0
0
2

2/…patches from new or rare contributors should have some kind of tag to indicate things like

(1) I have no interest in learning how to do things better, I just want it fixed; I'm thus happy if someone dramatically changes the patch or writes a better one.

(2) I'd really like to learn how to do this properly, hence would be grateful if someone could guide me somewhat.

Why? Well, misunderstandings here can be annoying and a waste of time for both sides (and lead to situations like the above).

3
2
0

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
Show older