The linux/arch/* microconference aims to bring architecture maintainers in one room to discuss how the code in arch/ can be improved, consolidated and generalized.
The majority of the code in the kernel deals with hardware that was made a long time ago, and we are regularly discussing which of those bits are still needed. In some cases (e.g. 20+ year old RISC workstation support), there are hobbyists that take care of maintainership despite there being no commercial interest. In other cases (e.g. x.25 networking) it turned out that there are very...
Since "Kprobes jump optimization" was introduced by Masami Hiramatsu in 2009, Only x86, arm32, powerpc64 have supported it. It seems that architecture met obstacles to implement the feature.
In this talk, let's compare x86, arm32, powerpc64 OPTKPROBES' feature, and find out the limitation of them. Then let's talk about how to implement kprobes jump Optimized for new archs (riscv &...
Open discussion about the ways to improve collaboration between developers working on on different architectures.
vDSO (virtual dynamic shared object) is a mechanism that the Linux kernel
provides as an alternative to system calls to reduce, where meaningful, the
costs in terms of cycles.
This is possible because certain syscalls like gettimeofday() do not write any
data and return one or more values that are provided by the kernel, which makes
calling them directly as a library function relatively...
The system call entry and exit code is needlessly duplicated and different
in all architectures. The work carried after the real low level ASM bits
should not be different accross architectures as well as the code that
handles the pending work before returning from a system call to user space.
Likewise, the interrupt and exception handling has to establish the state
for various kernel...
On 32-bit Linux machines, the 4GB of virtual memory are usually split between 3GB address space for user processes and a little under 1GB directly mapped physical memory.
While kernels can address more physical memory than what is directly mapped, this requires the "highmem" feature that is likely going away in the long run, while there are still systems using 32-bit ARM Linux with 2GB or...
Two significant parts of interaction between architectures and the generic MM are memory model (flat, discontigmem, sparsemem) and memory detection and initialization.
SPARSEMEM was designed as replacement for DISCONTIGMEM, but although sparse memory model was stable and robust for long time, there are still several architectures that require DISCONTIGMEM and the conversion is not as...