Tag Info

Hot answers tagged

56

The Unix boot process has (had) only limited capabilities of intelligently loading a program (relocating it, loading libraries etc). Therefore the initial program was an exact image, stored on disc, of what needed to be loaded into memory and "called" to get the kernel going. Only much later things like (de-)compression were added and although more powerful ...


28

The word image also has a definition "A file that contains all information needed to produce a live working copy."


15

It doen't mean an "image" is just a 1:1 copy of a disk. As the photo represents the reality exactly as it was when shooting, an image of an executable program (or kernel) represents the program in a state, where it can the loaded (or unpacked) in the systems memory exactly as it is and then given control to it. That program can then start running from that ...


5

In math the kernel is the inverse image of a subset of the image of a some map, were the subset is equal to the identity element in the codomain. I'm certain these names derive from mathematical concepts as they are related significantly in various fields in mathematics. Considering Unix was derived in an academic environment it may be possible that it's use ...


4

Here's the output from one of my bridging Linux machines: With brctl showstp, you can print the list of interfaces and their spanning-tree parameters involved with the bridging. There, in parenthesis, you'll find the interface index of the constituent interfaces - that's what is referenced in brctl showmacs. # brctl show bridge name bridge id ...


3

Ancient History. the term image comes from an old Digital Equipment Corporation term for the output from the compiler-> linker. the file is an image created by interpreting the code and so on through the linker to make an executable "Image" of your design.


3

Yes, you are correct. In particular, this means that the child will inherit all variables from the parent process with the value they had at the moment of the fork. However, if at a later step one of the parent or the child modifies one of these variables, the modification will be local to this process: if the child modify a variable, the parent process ...


2

Is it possible to see Where did this rule come from? Not in the sense "where can I look up the source of this rule". There are several ways to investigate the issue: the most evident is to grep all startup scripts on your system to see which uses ip rule at all, and then start reading them. Or you could start your system in single-user mode, and start ...


2

From what I read in LinuxFR article (french) This cache was suffering bad performance bottleneck relatively to today's latency needs and security problems where sometimes vulnerabilities allowed attackers to poison this cache. Also it's average hit rate was <10%. There is now a small per-entry cache, but only for additionnal informations (TCP stats, ...


2

Your routing table isn't being ignored, exactly. It's being overruled by a higher-priority routing table. What's Going On The routing table you see when you type ip route show isn't the only routing table the kernel uses. In fact, there are three routing tables by default, and they are searched in the order shown by the ip rule command: # ip rule show ...


2

You want some processor affinity (or CPU affinity). The relevant syscall is sched_setaffinity(2), but you should use it thru pthread_set_affinity_np(3) if you want to code your benchmarks for that. The related command is taskset(1) and you might use it on the commands you want to benchmark (or on your shell). If possible, take care that the machine is ...


2

The kernel memory management doesn't use the concept of "program" to organize the memory, but pages. The kernel decides based on a 'least recently used' (this may have changed, but the latest references I could find say so), in which when the kernel under memory pressure (by swappiness, it swaps out those pages which are rarely accessed to give space to more ...


2

You have to have a kernel source with kernel hacking enabled. Then switch on CONFIG_DEBUG_KMEMLEAK and compile your kernel. When you have that running: echo scan > /sys/kernel/debug/kmemleak to switch it on and cat /sys/kernel/debug/kmemleak for a report. Original proposal reviewed on lwn.net There is a kmemleak.txt in the kernel source code ...


2

The reason you can't alter the RTO specifically is because it is not a static value. Instead (except for the initial SYN, naturally) it is based on the RTT (Round Trip Time) for each connection. Actually, it is based on a smoothed version of RTT and the RTT variance with some constants thrown into the mix. Hence, it is a dynamic, calculated value for each ...


2

A signal is a classic kernel-to-process communication in some cases. Sure, any process with appropriate UID can use kill() to send a signal, but signals like SIGCHLD or SIGWINCH almost always come from the kernel. Specific to Linux, you can look at the signalfd() system call. The usual signal handling is via an "upcall", but signalfd() gives a process a ...


1

The Device Mapper driver is missing. Run make nconfig or make menuconfig: Device Drivers ---> [*] Multiple devices driver support (RAID and LVM) ---> <*> Device mapper support and recompile your kernel.


1

That's a kernel bug, Debian bug #789037 aka upstream bug #99161. It was introduced in a recent kernel update, and you probably saw it after the reboot (to install RAM) because you're now running that kernel. The fix is already available; you need to install it (and reboot). (BTW: I saw this on some of our servers after an unplanned reboot due to a circuit ...


1

If you've over-committed memory, a lot of tmpfs may be on disk. You may need to page stuff in to process the shutdown. mlock() is likely to force a lot of the other memory to disk. As you indicate you are diskless, you are likely reading over the network. Run sar gathering all stats while the server is shutting down. (sar may not be installed by ...


1

The TASK_INTERRUPTIBLE state has to do with the manner in which a task is put to sleep when it invokes the scheduler: its name is short for "interruptible sleep". It does not control preemption (and in fact Linux had TASK_INTERRUPTIBLE long before it was made (optionally) preemptible). Preemption is not sleep; an executing task kicked off its CPU is ...


1

The GPL gives the distributor of the software three options: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any ...


1

It sounds like it. These days, the best place to ask seems to be the Software Freedom Conservancy. http://sfconservancy.org/linux-compliance/about.html compliance@sfconservancy.org


1

systemd grabs the serial console and squelches the kernel, so I only get the bootloader messages Does it? It doesn't. The loglevel=1 in your kernel command line is responsible for telling kernel to stop logging. Try removing that statement (or explicitly setting it to loglevel=7). To stop systemd from logging its own status messages, use ...


1

Let's assume that we have 3 GiB of virtual address space available and that a process' text, stack, heap, and prior memory mappings together occupy only a small amount of address space (much less than 1 GiB). Then if this process requests a mapping of size 2GB then there is no problem, there is plenty of space to accommodate that mapping. (Actually, there ...


1

Some extra debug information like getting the call stack and some other things like that that are needed by gdb for debugging will be enabled. This will have slight impact in the performance. But you will see this mainly by using the tools using which most of the code runs in the kernel space. e.g. check the speed of a file copy, creating multiple threads ...


1

If you run customized kernels for your embedded hw and have some hw register/bit available you may be able to customize the kernel crash code to set a flag in that hw location which you'd check after reboot. If not AFAIK you're only chance is to configure your kernel core dumping facility. Indeed, it's risky to write to a 'live' filesystem, but you can use ...


1

You can use Ftrace. Ftrace is a tracing utility built directly into the Linux kernel.


1

Your reverse path filtering config is probably the problem. RFC3704 - section 2.4 In Enterprise Linux distributions (RHEL, CentOS, Scientific Linux, et al) the likely best way to resolve this is to modify /etc/sysctl.conf with rp_filter = 2 https://access.redhat.com/solutions/53031



Only top voted, non community-wiki answers of a minimum length are eligible