Linux Kernel: fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek

Posted on

This change “fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek” (commit 06222e4) in Linux kernel is authored by Josef Bacik <josef [at] redhat.com> on Mon Jul 18 13:21:38 2011 -0400. Description of “fs: handle SEEK_HOLE/SEEK_DATA properly in all fs’s that define their own llseek” The change “fs: handle SEEK_HOLE/SEEK_DATA properly in
Read more

Make Grub2 Boot Older Kernel Version in Ubuntu 20.04

Posted on

In a Linux system, we may have multiple kernels installed. Usually, it is the latest kernel configured to be the default one the system boot loader will use during automatic boot if there is no manual kernel choosing. In many cases, such as there is no driver ready yet for some devices in newer kernels,
Read more

Xen: VM failed to boot

Posted on

Question: Hello, I am using Xen on Centos 7 and it was working fine from last 3 years. After I reboot the VM I am getting below error: “dracut-initqueue[270]: Warning: dracut-initqueue timeout – starting timeout scripts” “[ 195.426203] dracut-initqueue[270]: Warning: Could not boot. [ 195.435712] dracut-initqueue[270]: Warning: /dev/centos_static/root does not exist [ 195.436499] dracut-initqueue[270]: Warning:
Read more

New Linux Kernel 5.0: Features and Improvements

Posted on

Linux is the most used and well-known open-source operating system for computers, mobile devices, servers, and mainframes, etc. Linux has so many awesome features to serve its users like Live CD/USB. And it is fast, easy and free to use by computers around the world. The kernel is referred to as the essential component of
Read more

Handling Sparse Files on Linux

Posted on

Sparse files are common in Linux/Unix and are also supported by Windows (e.g. NTFS) and macOSes (e.g. HFS+). Sparse files uses storage efficiently when the files have a lot of holes (contiguous ranges of bytes having the value of zero) by storing only metadata for the holes instead of using real disk blocks. They are
Read more

How to get a path’s mtime in C++ on Linux?

Posted on

How to get a path’s mtime in C++ on Linux? The path can be a file or a dir. You may call the standard library function lstat() for the file or dir under the path. int lstat(const char *pathname, struct stat *statbuf); From the returned stat struct, there is a field st_mtim which is the
Read more

How to judge whether its STDERR is redirected to a file in a Bash script on Linux?

Posted on

Within a Bash script, how to judge whether its STDERR is redirected to a file in Bash on Linux? For example, ./script.sh /tmp/log 2>&1 Can script.sh detect that its STDERR is redirected? Knowing the destination file is better. To test whether a script’s STDERR (or STDOUT) is redirected to a file, check by [[ -f
Read more

What is the difference between work conserving I/O scheduler and non-work conserving I/O scheduler?

Posted on

What is the difference between work conserving I/O scheduler and non-work conserving I/O scheduler? In a work-conserving mode, the scheduler must choose one of the pending requests, if any, to dispatch, even if the pending requests are far away from the current disk head position. The rationale for non-work-conserving schedulers, such as the anticipatory scheduler
Read more

How to force a fsck during next rebooting of Linux?

Posted on

How to force a fsck of a file system, say the root, during the next rebooting of Linux? 2 possible ways: /forcefsck way for / # touch /forcefsck and reboot. Next time the / will be fsck’ed . systemd way Add these 2 kernel boot parameters: fsck.mode=force fsck.repair=yes What these 2 kernel parameters do: KERNEL
Read more

How to tune systems to achieve high performance in virtualization circumstances?

Posted on

Most time, we need to tune system parameters to achieve better performance but what the general parameters to be tuned in Linux systems. I think you may want to add following parameters to Kernel boot (/etc/default/grub) parameters intel_idle.max_cstate=0 processor.max_cstate=0 idle=poll intel_pstate=disable At the same time, you may also want to shutdown/open Pause Loop Exiting (PLE).
Read more

How to get processes’ I/O utilization percentage

Posted on

Two notices: 1, a process has only one main thread which is itself. 2, a process has many threads. Solution 1: Please use taskstats [1] related interfaces, and send TASKSTATS_TYPE_PID and TASKSTATS_TYPE_TGID commands to kernel to get a process’s ‘blkio_delay_total’ parameter for a process with one main thread and a process with threads separately. Solution
Read more

For QEMU/KVM, how to share data between host and guest

Posted on

General question for developers to access data between VM and VMM. As I know, paravirtualization solution is a good way to share data for VM and VMM since it has better performance. Please use Virtio 9p solution for QEMU/KVM. Note that you need to load 9p related modules for guest kernel. Add following in your
Read more

How to make CentOS Linux to load a module automatically at boot time?

Posted on

How to make CentOS Linux to load a module, say ixgbe, automatically at boot time? I am using CentOS 7. You can create a text file <some name>.conf in the /etc/modules-load.d/ and list the modules to be loaded there, one per line. The systemd-modules-load.service daemon will read these files and load the modules. Check more
Read more

How to get the highest temperature from all sensors in a server on Linux?

Posted on

It is useful to monitor a server node’s temporary. Among all the sensors’ temperatures, the higher one may be a very important one. How to get the highest temperature from all sensors in a server on Linux? You can use this command to get the the highest temperature from all sensors in a server on
Read more

How to find the disk where root / is on in Bash on Linux?

Posted on

Question: how to find the disk where the Linux’s root(/) is on in Bash? The root may be on a LVM volume or on a raw disk. 2 cases: One example: # df -hT | grep /$ /dev/sda4 ext4 48G 32G 14G 71% / For another example: # df -hT | grep /$ /dev/mapper/fedora-root ext4
Read more

Getting Hostname in Bash in Linux

Posted on

In Bash, how to get the hostname of the node running the program? In Bash, you can get the hostname of the node in at least 2 ways: Use the variable $HOSTNAME. Get the hostname by command hostname. Get the content of /proc/sys/kernel/hostname Example: $ echo $HOSTNAME host01 $ hs=`hostname` $ echo $hs host01 $
Read more

How to set process with lowest priority?

Posted on

In system, sometimes, we need backstage threads with very very low priority since it cannot preempt any normal process asks for CPU. SCHED_IDLE class satisfies this requirement which has the priority lower than “nice=19” of CFS. Following code does this. 241 void set_idle_priority(void) { 242 struct sched_param param; 243 param.sched_priority = 0; 244 int s
Read more

What is the vruntime of one process after it is moved into another run queue in Linux Kernel

Posted on

When we do migration, one process will be migrated from one source CPU’s runqueue to destination CPU’s run queue. What is the virtual run time (if CFS is used) after it is moved into destination CPU’s run queue? When the process is dequeued from source CPU’s run queue, its vruntime will minus the minimum vruntime
Read more