sungju
-
What’s TAINT_WARN?
TAINT_WARN is explained in kernel/panic.c as ‘Taint on warning’. static const struct tnt tnts[] = { … { TAINT_WARN, ‘W’, ‘ ‘ }, } /** … * ‘W’ – Taint on warning. … */ This flag is turned on from “__WARN()” to confirm that the system had ‘WARNING’ messages once or more time. #define __WARN()… Continue reading
-
Normal user process shows “root:root” permission in /proc//
If you are seeing ‘root:root’ under /proc// for your process, it means the process is in Zombie state. #include int main() { pid_t pid; int i; for (i = 0; ; i++) { pid = fork(); if (pid > 0) { break; } else { exit(0); } } while (1) { sleep(1); } return 0;… Continue reading
-
How to disassemble a module from a vmcore
There are times that you have to deal with a module which you don’t have source code. Only thing we can do is disassemble it, but if you don’t have actual module binary, this is also tough. Luckily, vmcore has all the code loaded into the memory. So, here’s the steps to get disassembled code… Continue reading
-
How dump trace is generated in Linux kernel
Note for myself to remember how call trace is generated in Kernel /* * The architecture-independent dump_stack generator */ void dump_stack(void) { unsigned long stack; printk(“Pid: %d, comm: %.20s %s %s %.*sn”, current->pid, current->comm, print_tainted(), init_utsname()->release, (int)strcspn(init_utsname()->version, ” “), init_utsname()->version); show_trace(NULL, NULL, &stack); } void show_trace(struct task_struct *task, struct pt_regs *regs, unsigned long *stack) {… Continue reading
-
How to find out who is killing my process
There’s a time a process is suddenly killed, but has no idea which process or who killed it. There are couple of ways to identify, but using SystemTap is one clear way to identify it. SystemTap is a script language that can be loaded into Linux kernel and interact safely in kernel to monitoring or… Continue reading
-
What’s virtual address limit of 32bit/64bit Linux kernel?
RHEL 5 code 32bit: include/asm-i386/processor.h /* * User space process size: 3GB (default). */ #define TASK_SIZE (PAGE_OFFSET) 64bit: include/asm-x86_64/processor.h /* * User space process size. 47bits minus one guard page. */ #define TASK_SIZE64 (0x800000000000UL – 4096) /* This decides where the kernel will search for a free chunk of vm * space during mmap’s. */… Continue reading
-
Quotes from “The Secret Life Of Walter Mitty”
To see the world, things dangerous to come to, to see behind walls, draw closer, to find each other, and to feel. That is the purpose of life. Sometimes I don’t. If I like a moment, for me, personally, I don’t like to have the distraction of the camera. I just want to stay in… Continue reading
-
Personal memo for ‘Automatic NUMA Balancing’
Automatic NUMA Balancing It is described in Documentation/sysctl/kernel.txt numa_balancing Enables/disables automatic page fault based NUMA memory balancing. Memory is moved automatically to nodes that access it often. Enables/disables automatic NUMA memory balancing. On NUMA machines, there is a performance penalty if remote memory is accessed by a CPU. When this feature is enabled the kernel… Continue reading
-
crash extension ‘pstree’
‘crash’ is useful tool to analyse system crashes or debugging in Linux system. It has many useful commands, but sometimes I wanted to get full picture of process list that was running at the time of crash. You can get process list with ‘ps’, but if you want to get hierarchical view, only ‘ps -p’… Continue reading
-
Start where you are
“Start where you are. Use what you have. Do what you can.” – Arthur Ashe Continue reading
-
A small tool to manage my projects
If you are working with only on language, it would be quite easy to manage your source code. But, as there are many different requirements and circumstances, we are facing to work with several different languages which come with different tool set. I’ve tried to keep my project under one directory, but still it’s quite… Continue reading
-
External network doesn’t work in OpenStack running on VMWare fusion?
I’ve been hard time to figure out why my openstack doesn’t communicate with outside and it’s always saying ‘Down’ when I checked external network in router. It turned out that is the issue with ‘promiscuous mode’. In default, it’s requires to have authentication for entering promiscuous mode. By turning it off, the network works fine… Continue reading
About Me
A software engineer who loves any technologies that makes life easier. That’s why I love Linux and Mac at the same time.
Recent Posts
- How to find the actual memory usage by each process
- How to check memory usage in Linux – part 1.2 – Per-process level memory usage check
- How to check memory usage in Linux – part 1.1 – System level memory usage check
- How to check memory usage in Linux – part 1. User space
- How to track SLAB usage using slub_debug=U