Statically Linking C and C++ Programs on Linux with gcc

Posted on

Before statically linking you C and C++ programs, you should be aware of the drawbacks of the static linking especially with glibc. There are some good discussions already: with glibc you’re linking static programs which are not really static and some others here and here. That said, you can choose to statically link C and
Read more

Managing Xen Dom0′s CPU and Memory

Posted on

The performance of Xen’s Dom0 is important for the overall system. The disk and network drivers are running on Dom0. I/O intensive guests’ workloads may consume lots Dom0′s CPU cycles. The Linux kernel calculates various network related parameters based on the amount of memory at boot time. The kernel also allocate memory for storing memory
Read more

Software Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean

Posted on

Software Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean. You can download the slides from Software Engineering Advice from Building Large-Scale Distributed Systems by Jeff Dean. These slides contain the “Numbers everyone should know” which everyone working on systems should be familiar with. Numbers Everyone Should Know L1 cache reference 0.5 ns Branch
Read more

Hashing Library for C

Posted on

I try to find some Hashing libraries for C and find several good ones. The hsearch function in the GNU C library. There are other methods to organize information which later should be searched. The costs of insert, delete and search differ. One possible implementation is using hashing tables. The following functions are declared in
Read more

GNU glibc Manual

Posted on

“The C language provides no built-in facilities for performing such common operations as input/output, memory management, string manipulation, and the like. Instead, these facilities are defined in a standard library, which you compile and link with your programs. The GNU C library, described in this document, defines all of the library functions that are specified
Read more

Installing Fedora 17 PV Domain-U on Xen with PXE Booting

Posted on

An introduction to the general method of installing Domain-U on Xen is introduced here: Setting Up Stable Xen DomU with Fedora: Unmodified Fedora 12 on top of Xenified Fedora 12 Dom0 with Xen (this is a general introduction, some details are changed, such as ‘xl’ replacing ‘xm’, LVM backing the disk for higher performance. But
Read more

How to Flush iptables on Fedora Linux

Posted on

iptables is a mechanism in Linux kernel for port forwarding, NAT, firewalls etc. In Linux distros, such as Fedora, the iptables is configured to be as a “strict” firewall that opens a limited know ports, such as 22 for SSH. However, in some network environment, such as a private cluster, the nodes are trusted and
Read more

How to Install Xen on Fedora as Domain-0 (Fedora 17)

Posted on

The new development of Xen and Linux kernel make it easy to install Xen on Fedora as the Domain-0 now. This post uses Fedora 17 as an example platform to introduce how to set up Domain-0 on Fedora Linux. Compared to our old method (https://www.systutorials.com/setting-up-stable-xen-dom0-with-fedora-xen-3-4-3-with-xenified-linux-kernel-2-6-32-13-in-fedora-12/) which requires manually compiled Xen and patched kernel, the current
Read more

How to Flush Linux File System Caches

Posted on

We may drop the file system caches on Linux to free up memory for applications. Kernels 2.6.16 and newer provide a mechanism via the /proc/ to make the kernel drop the page cache and/or inode and dentry caches on command. We can use this mechanism to free up the memory. However, this is a non-destructive
Read more

Setting Up Ubuntu DomU on Xen: Ubuntu 10.10 on Fedora Xen Dom0

Posted on

Setting up Ubuntu 10.10 DomU on top of Fedora Xen Dom0 is introduced in this post. The process of setting up Ubuntu 10.10 DomU is the same as Setting Up Stable Xen DomU with Fedora: Unmodified Fedora 12 on top of Xenified Fedora 12 Dom0 with Xen 4.0 This post only show the difference which
Read more

pkill and pgrep: Process Management Commands

Posted on

This is a introduction to *nix’s process management tools: pkill and pgrep. As this site’s domain name was pkill.info, a introduction to pkill should exist here. NAME pgrep, pkill – look up or signal processes based on name and other attributes SYNOPSIS pgrep [-flvx] [-d delimiter] [-n|-o] [-P ppid,…] [-g pgrp,…] [-s sid,…] [-u euid,…]
Read more

Duplicating and Backing Up LVM Backed Xen DomU from a Remote Server

Posted on

LVM’s snapshot feature enables us to duplicate an LVM backed Xen DomU in seconds inside of the same volume group. When we want to duplicate LVM backed Xen DomU from a remote server, we need to make use of LVM’s snapshot function and tools like scp and dd. Backing up the DomU is only part
Read more

Setting Up LVM Backed Xen DomU

Posted on

LVM volumes as backing for DomU’s file system is an appealing solution to Xen VBD. LVM volumes can dynamically grow/shrink and snapshot. These features make it simple and fast to duplicate DomU and adding storage to DomU. Creating LVM-backed Xen DomU is introduced in this post. Create LVM-backed VBD Suppose we have a LVM volume
Read more

Duplicating LVM Backed Xen DomU

Posted on

LVM’s snapshot feature enables us to duplicate an LVM backed Xen DomU in seconds rather than minutes. We no longer need to copy the entire file system image like backing up file backed Xen DomU. We just need to make a snapshot of the current Xen DomU in seconds. When there are changes to the
Read more

Introduction to Xen Source Code Structure

Posted on

The Xen hypervisor is a powerful virtualization solution that provides virtualization capabilities for x86, x86-64, and ARM architectures. The source code structure of Xen is organized into several directories, each of which contains a specific set of files. The backend and frontend drivers are an important part of the Xen hypervisor, and they provide a
Read more

Finding Out the Firmware Version in Linux

Posted on

In Linux, it is often necessary to check the firmware version of your system. The firmware, also known as BIOS (Basic Input/Output System), is a software that is built into the hardware of your system and serves as an interface between the hardware and the operating system. In this post, we will explore how to
Read more

Xen DomU’s I/O Performance of LVM and loopback Backed VBDs

Posted on

This posts list benchmark (using bonnie++) result of I/O performance of Xen LVM and loopback backed VBDs. The configuration of machines Dom0 VCPU: 2 (Intel(R) Xeon(R) CPU E5520  @ 2.27GHz) Memory: 2GB Xen and Linux kernel: Xen 3.4.3 with Xenified 2.6.32.13 kernel DomU VCPU: 2 Memory: 2GB Linux kernel: Fedora (2.6.32.19-163.fc12.x86_64) DomU’s profile: name=”10.0.1.200″ vcps=2
Read more

Setting up Stable Xen Dom0 with Fedora: Xen 3.4.3 with Xenified Linux Kernel 2.6.32.13 in Fedora 12

Posted on

This is the latest stable and recommended stable Xen Dom0 solution on Fedora 12. No serious bug found till now and we will fix the bugs by ourselves if some appears. It also works on Fedora 14 as well. It should not be hard to use this solution on other versions of Fedora or other
Read more

Problems during Installing Xen Dom0 in Fedora

Posted on

Here is a list of problem that may occur during installing and configuring Xen Dom0 in Fedora. It is found originally in Fedora systems, but the tips in this post should also be helpful for installing Xen Dom0 on other platforms. BIOS configuration If xen stops at: “I/O virtualization disabled.” We may need to enable
Read more

Set up and Run Linux Xen Dom0 and DomU VMs

Posted on

The Xen solutions including installing and configuring Dom0 and DomU are summarized here. LVM volumes as backing for DomU’s file system is an appealing solution to Xen VBD. LVM volumes can dynamically grow/shrink and snapshot. These features make it simple and fast to duplicate DomU and adding storage to DomU. LVM backed DomU is recommended.
Read more