China Linux Kernel Developer Conference

episode 10 | 2015/10/17~18 | Nanjing, China (中文版)

CLK stands for China Linux Kernel Developer Conference, which is an top-level Linux Kernel conference in China. CLK provides an awesome platform for all kernel developers and hobbyists to communicate with each other. This year, CLK runs into its 10th event since 2006. CLK2015 will be held in Nanjing China, Oct.17~18 and is sponsored by Fujitsu, Intel, IBM, Huawei, Alibaba, Microsoft, Linaro. 

Our Weibo Account



Day 1
8:00 Sign in
CLK2015 Keynote assembly room(Science Museum)
  • Welcome Speech,Guest Introduction
  • Guest Speech
  • Keynote1:Container and Fujitsu(Fujitsu Kamezawa Hiroyuki)
  • Keynote2:Virtualization and KVM: Today and Tomorrow(Intel Eddie Dong)
  • Keynote3:OpenPOWER kernel deep dive(IBM Jia He)
Lunch Time
Track 1(Science Museum) Track 2(Meng MingWei Building)
  • Topic1:Hyper-V: A Great Platform For Hosting Linux Workloads(Microsoft Dr. K. Y. Srinivasan)
  • Topic2:How to improve the real-time of common kernel(HUAWEI XiangYou Xie)
  • Topic3:How to become a filesystem developer(Fujitsu Nanda WenRuo Qu)
  • Topic1:a new framework of cryptography virtio driver(HUAWEI Lei Gong)
  • Topic2:Reference Count Inconsistency Analysis without Semantic Assumptions(Tsinghua University Yu Chen,Junjie Mao)
  • Topic3:Linux memory barrier(ZTE BaoYou Xie)
18:30 Dinner for VIP Guest and Speaker
Day 2
Track 1(Science Museum) Track 2(Meng MingWei Building)
  • Topic1:Enabling more effective kernel development across different SOCs(Linaro George Grey)
  • Topic2:Tracking Data Access in RCU Read Critical Sections(IBM BoQun Feng)
  • Topic3:The past, the present and the future of TIPC Protocol(WindRiver Ying Xue)
  • Topic1:Using Bcache to Soup Up the Distributed Block Storage(Alibaba YanHai Zhu)
  • Topic2:Debug Linux Kernel through USB3.0 Port(Intel Lu Baolu)
  • Topic3:Deep in Kernel Scheduler(Linaro Alex Shi)
Lunch Time
Track 1(Science Museum) Track 2(Meng MingWei Building)
  • Topic1:COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service(Fujitsu Nanda ZhiJian Li)
  • Topic2:How The Linux Community Maintains Stable Trees(HUAWEI ZeFan Li)
  • Topic1:Introduction to Suspend-to-Idle(Intel Chen Yu)
  • Topic2:Kernel Debug Tool - systemtap(Amazon Peng Yu)
15:30 ~ CLK2015 lottery(Science Museum)




No. Organization Speeker Topic Topic summary Speeker information
1 Fujitsu Kamezawa Hiroyuki Container and Fujitsu In June, Open Container Initiative was announced under Linux Foundation and Fujitsu has joined at start up. Fujitsu has been contrinuting Linux Kernel for years and now is starting contributions to docker and runc. In this session, it’s basics about container will be explained and what kinds of activitiy are on going in Fujitsu. Of course, Fujitsu’s future contribution plans for container community will be explained. Since 2004, Kamezawa has been working as Linux kernel developer as an engineer from Fujitsu. He has mainly worked for memory management and memory cgroup development. He and his team has been working cooperatively with Nanjing Fujitsu Nanda Software Technology(FNST) in open source community for several years.
2 Intel Eddie Dong Virtualization and KVM: Today and Tomorrow Over the past 10 years, rapid development of virtualization technology, which brings a lot of new application scenarios such as a variety of public and private clouds. Open source virtualization was one of the hot projects in the community, attracting a large number of developers, in the past few years. In the meantime, KVM was rapidly adopted by more and more customers. As a rising star, KVM was directly taken into Linux kernel in 2007, as a built-in Linux virtualization solution. After 8 years of development, KVM has already achieved numerous progress, and has become the mainstream of the open source virtualization program. At the same time, KVM is also full of energy, whose community is very active. It continuously moves fast and aggressively takes new features. In this talk, we will show the KVM today and tomorrow, as well as discussion of possible future directions. Dong Yaozu, Principle Engineer of Intel Asia-Pacific Research and Development Ltd., is one of the earliest developers of open source virtualization. He chaired the development of the first open source Itanium hypervisor with hardware assistance, and led the Shanghai team to develop the 1st hardware assisted virtualization solution on X86. Dong Yaozu also championed the development of the world's first SR-IOV virtualization products; architected and chaired the first fully open source GPU virtualization implementation; and initiated the VM based high availability project, named COLO project (coarse-grained lock step virtual machines for non-stop service). Dong Yaozu has 40+ USA patent applications, and has published 20+ decent academic papers (of which the 6 papers in the world’s top conferences/journals, and others in first-class conferences/journals).
3 IBM Jia He OpenPOWER kernel deep dive As a new platform for openness and innovation, OpenPOWER has attracted more than 100 ISVs as the members of its alliance. What’s the magic? This topic is about new features and innovations in Linux kernel on OpenPOWER platform. Linux kernel engineer in IBM
4 Alibaba YanHai Zhu Using Bcache to Soup Up the Distributed Block Storage Bcache is a kernel module which was merged into the mainline kernel since 3.10. It can be used to setup a fusion block device including one SSD/Flash card and some slower devices like SATA disks or network-based storage devices. Alibaba Cloud Computing (Aliyun) has been using Bcache to accelerate the distributed block storage for its virtual machine services in public cloud. This talk will give a short intro into the design of Bcache, the improvements made by Aliyun and some performance data gathered from the online virtual machines. Zhu Yanhai, a software engineer working at Alibaba Cloud Computing's Linux kernel team.
5 Tsinghua University Yu Chen,Junjie Mao Reference Count Inconsistency Analysis without Semantic Assumptions Reference-counting has been widely adopted in the implementation of operating system kernels,but reference-counting is not trivial to be used correctly. We have used inconsistent Path Pairs analysis, Inter-procedure Analysis,etc, to explore the possibility to detect refcount bugs by revealing inconsistency path pairs. This allows us to check a large scale software such as operating system kernels with no knowledge on function behaviors. We have revealed over 100 related possible bugs on referencing counts in the Linux kernel. Yu Chen Associated Professor in Department of CS, Tsinghua University. His research interests are Optimization/Security/IO performance Analysis/Bug Analysis on OS. Junjie Mao Ph.D Candidate in Department of CS, Tsinghua University. His research interests are Bug Analysis/Correction Analysis/Performance Analysis on OS
6 ZTE BaoYou Xie Linux memory barrier Memory barrier has earned a reputation as one of the difficult areas in Linux. Stephen Hawking have claimed that there are two fundamental problems about semiconductor manufacturers: A. the finite speed of photon and B. the atomic nature of matter. Starts with these two problems, this topic provides introduction of how those two problems effect both the multicore computer architecture and the way software engineer works. After that, in a programmer’s prospective, this topic takes a dig into a code sample that shows how complicate a simple read/write a global variable can be, introduces the underlying electrical signal transmission of the global variable between CPUs, and in what order for CPUs to observe the new value. Then MESI protocol and concept of memory barrier are introduced. At the end, this topic explains what is Linux memory barrier and the correct way of using it in kernel lock context. Paul E. McKenney and Jiangshan Lai both had talked about RCU in previous CLK meetings. RCU correlates with memory barrier in many aspects. Paul E. McKenney and other contributors has wrote a book about this topic, the book name is “Is Parallel Programming Hard, And, If So, What Can You Do About It?”. The book covers many areas include RCU, multicore parallel programming and memory barrier. Baoyou Xie, the speaker, has translated this book into Chinese, it can be downloaded at /detail/xiebaoyou/3552357. Baoyou Xie, a 7 year Linux Kernel veteran, also a member of expert committee of COPU. Baoyou had a bit of fantastic experience before he became an operating system expert. He had spent 6 years to give a comprehensive chinese comment to the source code of Linux 2.6.12, all of the commented source code can be view at CSDN:http://download. detail/xiebaoyou /7017755. More detail, See the CSDN interview page at http://code. /news/2819178.
7 Microsoft Dr. K. Y. Srinivasan Hyper-V: A Great Platform For Hosting Linux Workloads Over the last several years, we have invested heavily in making Linux a first class environment on various Microsoft platforms. This talk focuses on our Linux journey with special emphasis on performance, scalability and manageability of Linux on Hyper-V. Dr. K. Y. Srinivasan, Partner Architect at Microsoft where he focuses on making Linux run well on Hyper-V and Azure cloud environment. K. Y’s goal is to make Hyper-V the best hypervisor for hosting Linux based workloads. K. Y comes to Microsoft from Novell where he was a Distinguished Engineer, leading a number of key platform initiatives: he was the Chief Architect for Modesto – the 64 bit NetWare platform and was responsible for the initial implementation of Hyper-V emulation on Xen. Prior to joining Novell, he was a Distinguished Member Of Technical Staff at AT&T Bell Laboratories where he was an architect and a key contributor to several releases of the UNIX Operating System. His areas of interest are: Operating Systems, OS virtualization and Fault-tolerant computing. K. Y. has a Ph.D in Fault-tolerant computing and has filed more than 25 patents in the areas of virtualization and workload management.
8 HUAWEI Lei Gong a new framework of cryptography virtio driver Tranditional teloc equipments use lots of hardware accelerators, how to leverage these accelerators becomes important in Network Function Virtualization(NFV). We are trying to implement a software solution based on KVM, to offload specific processing like encrypt, compressing/uncompressing, media transcoding etc, this prestation will introduce an para-virtualization scheme of hardware accelerator, including introducing virtio frontend driver and backend driver, making use of Linux kernel cryptography framework and Cryptodev-linux module which allow  userspace applications to take advantage of hardware accelerators and self contained linux kernel module. 1. Qemu contributor and maintainer for bootdevice 2. Working on virtualization department at HUAWEI - Senior Engineer - Participate in development for multiple commercial version of UVP, the virtualization Platform of HUAWEI.
9 Linaro Alex Shi Deep in Kernel Scheduler Linux kernel scheduler take care of varies types process, like batch process, interactive process and real time process. This representation introduces that the basic rule of Linux kernel scheduler, And considerations of the priority on different type process. Scheduler is the core of linux kernel, it need to balance load on many different Arch, like SMT, MC, SMP, NUMA and Clusters, considerate to get better performance on above different CPU type. Beside fairness, cpu performance, the modern hardware also provide many mechanism to reduce power consumption on CPU, like different level idle, different running frequency. What’s the scheduler’s consideration about above mechanism. How to coordinate them to be united in concert. This representation also give a brief introduce of xnu scheduler, (XNU is the OSX and IOS kernel). How the xnu scheduler service for varies type process, and what xnu’s strategy to care above all kinds of issues. Alex Shi, graduated from Central China Normal University. He works for Linaro as Linaro stable kernel maintainer now. Before working for Linaro he worked in Intel Opensource Technical Center in Shanghai, mainly focus on Linux kernel performance/powertesting/tuning/optimizing.
10 HUAWEI XiangYou Xie How to improve the real-time of common kernel Linux Kernel real-time is one hot topic, and how to enhance real-time scheduling of virtual machine is more challenging. This introduces the work that Huawei isolate the Noise in the common Linux Kernel, and reduce scheduling latency of KVM guest. Then introduces the performance in Huawei Network Function Virtualization(NFV) Xiangyou Xie, Working on virtualization department at HUAWEI TECHNOLOGINES CO.,LTD
11 IBM BoQun Feng Tracking Data Access in RCU Read Critical Sections Unlike other locking mechanism, RCU has more loose requirements for the critical sections, which is good for performance and easy-use. However, the loose requirements also result in that it’s difficult to figure out which data structure is protected by which RCU critical section. To get more information for data accesses in RCU critical sections, we need to reuse some existing mechanisms to provide better imformations for debugging. Linux kernel developer in IBM
12 HUAWEI ZeFan Li How The Linux Community Maintains Stable Trees The release period for a major kernel release is 2-3 month, and more than 10,000 patches are merged during a development cycle. Bugs are inevitable under heavy development like this, and even an offical release is far from bug-free. That’s why we have stable trees, which accepts bug fixes only. I’ll talk about how the community maintains stable trees, and some deficts in this process. Zefan Li is a senior engineer from Huawei Linux kernel department. He maintains cgroup and cpuset in the Linux kernel community, and he also maintains LTS 3.4.
13 Fujitsu Nanda WenRuo Qu How to become a filesystem developer Want to make contribution to Linux kernel, but without a clue? Tens of millions lines of code but lacks an entrance to read? Not satisfied as a normal Linux user or QA staff? This talk will take btrfs as an example, to show how to make contribution to kernel.Started from static on-disk, then btrfs-progs development, and leading to kernel code contribution. From non-experienced user to non-fs experienced developer can find their way to make contribution. Kernel developer from Fujitsu. Focus on btrfs development. Contribution includes, async-thread rework, btrfs qgroup accounting reconstruction, btrfsck enhance and a lot of bugfix.
14 Intel Lu Baolu Debug Linux Kernel through USB3.0 Port In recent Linux environment, serial is still the common method for system low level debugging, ie. early printk and kgdb. We need to find a replacement because more and more clients are shipped without serial. Debug port implemented in USB 3.0 host controller provides a reasonable replacement. Intel chips support xHCI debug port since Broadwell generation. USB 3.0 debug port support in Linux kernel is getting more and more interests in the Linux communities. This topic will introduce the technical details of USB 3.0 debug port and its enabling status in Linux kernel. Lu Baolu joined Intel in 2005 after he got his bachelor and master degrees from Tsinghua university. He spends most of his time in Intel on UNIX/Linux kernel enabling and optimizing. He is the author of Intel vt-d driver in Oracle Solaris; the author of USB 3.0 host controller driver in Oracle Solaris; a key contributor to IOH hotplug support in Oralce Solaris; a key contributor to xHCI specification; a key contributor to USB 3.0 support in Linux community. He is currently working on USB 3.1 and xHCI debug port.
15 Intel Chen Yu Introduction to Suspend-to-Idle Suspend-to-Idle is a generic, pure software, light-weight, system sleep state, written by Intel in 2013. It allows more energy to be saved relative to runtime idle by freezing user space and putting all I/O devices into low-power states, such that the processors can spend more time in their idle states, thus it equals frozen processes + suspended devices + idle processors. This state can be used for platforms without Suspend-to-RAM support, or it can be used in addition to Suspend-to-RAM (memory sleep) to provide reduced resume latency. Since Suspend-to-Idle can be used on all platforms in theory, we encourage people to take this option into consideration on platform-indepent systems. Compared with Suspend-to-RAM, Suspend-to-Idle saves less power because the system is still in a running state. Suspend-to-Idle has less resume latency because it does not touch BIOS, and the processors are in idle state. Compared with Runtime PM/Cpuidle, Suspend-to-Idle saves more power as: 1. the processor has longer sleep time because processes are frozen. The deeper c-state (or Low Power S0 Idle) the processor supports, more power saving we can get. 2. Suspend-to-Idle uses system suspend code path, thus we can get more power saving from the devices that does not have good runtime power management support. 3. Suspend-to-Idle supports Quiescent mode, in which mode the timer interrupt would be disabled, and the clock source, clock device are all suspended. This can prevent system from waking up from Suspend-to-Idle too often. This topic is composed of 6 sections: 1. System-wide power management overview 2. Suspend-to-RAM vs Suspend-to-Idle 3. Runtime PM vs Suspend-to-Idle 4. how to invoke Suspend-to-Idle 5. how to wakeup from Suspend-to-Idle 6. Suspend-to-Idle : Quiescent Mode 1. Intel Open Source Technology Center, ACPI Group, since 2014. Mainly focus on power management related field, such as Suspend-to-RAM, Suspend-to-Idle, Hibernation, Thermal Management, cpufreq/cpuidle drivers on x86 platforms. Familiar with trouble shooting skills on ACPI debugging, kernel exception/panic issues and time latency problems during suspend/resume, also watch over other device driver problems triggered by suspend/resume. 2. ZTE corporation, Operation System Development Department, 2009~2014. Mainly focus on linux embedded system, customize linux to fit Router system, involved with feature development and kernel trouble shooting, including but not limit on slab management, high resolution timer, also have experience on kdump, hugetlb development. 3. Graduated from UESTC 2009
16 Linaro George Grey Enabling more effective kernel development across different SOCs Today’s kernel developers have a choice of platforms on which to develop. However, particularly in the embedded, mobile and networking segments there are many different SoCs and feature sets. Kernel developers do not have easy access to SoC vendor development boards, especially for the newest SoCs, and many vendors do not regard upstream as a priority. This technical session describes steps taken towards unifying software support across multiple vendor SoCs to accelerate upstreaming of new SoC features. This includes a goal of reducing fragmentation of bootloader and kernel code and making new SoC support available to the kernel community earlier in the product cycle. Topics include: Defining a common software platform from bootloader through kernel and into distributions including Trusted firmware and OS, UEFI and ACPI/DT hardware descriptions, firmware/kernel/distribution interfaces and methods for handling vendor-specific code. Upstreaming support for a hardware reference platform that can support existing and new SoCs from different vendors. Prior to joining Linaro as CEO George led software and hardware technology companies for over 25 years, gaining wide ranging expertise in business strategy, product development, sales and marketing. Early in his career he spent 12 years as founder and then CEO of Tadpole Technology plc, a developer of advanced mobile workstations. More recently at SavaJe, a pioneer of Smartphone operating systems, he developed a deep understanding of advanced software technologies, and worked with partners and customers across the entire mobile industry. George has built a reputation for leading and growing technology companies, and brings to Linaro extensive experience in creating innovative products and solutions for global markets.
17 Fujitsu Nanda ZhiJian Li COLO: COarse-grain LOck-stepping Virtual Machine for Non-stop Service COLO is a VM replication technique which provides application-agnostic software-implemented hardware fault tolerance “non-stop service”. Under COLO mode, both primary VM (PVM) and secondary VM (SVM) are run in parallel. They receive the same request from client, and generate response in parallel too. If the response packets from PVM and SVM are identical, they are released immediately. Otherwise, a VM checkpoint (on demand) is conducted. COLO patches for QEMU have already been sent to the dev maillist and are under review. In this talk, we will talk about the COLO implementation in QEMU, the new designed block replication, discussing on problems we’ve met while developing COLO. Apart from the technical part, we will also present the latest progress from Fujitsu, Intel and Huawei. For more info, refer to COLO project wiki: Li has been working for Fujitsu as a Linux engineer. Currently, he focuses on KVM Virtual Machine(VM) replication project(COLO on KVM)
18 Amazon Peng Yu Kernel debug tool-systemtap What systemtap is: can insert a probe on the running kernel, print context information How systemtap works: use the kprobe module, insert code to kernel, then explain the basic theory of kprobe When we will use systemtap: 1. Learning kernel source code, print the function call information 2. performance tunning, if a control path of the kernel is very slow, print timestamp to find the problem 3. deal with some strange issues (such as the system start to use swap when it has lots of free memory, system receoved package from netcard but doesn't respond), find the exactly root cause How to install system: take centos as example, install systemtap, install kernel debuginfo and install kernel source code Basic usage: insert probe to a function, get function parameters/return value, insert probe to a line of the source code, get local variable and member of task structure Advantage usage: because of compiler optimize, a variable may don't exist in the actual binary kernel, or some functions may be compiled as inline function, then you can't probe it directly. disassemble vmlinux, find the value in which register on which memory address, probe that memory address, and print the value of the register. Dangerous usage: embedded C language in systemtap, modify kernel variable on running time. working for Amazon
19 Windriver Ying Xue The past, the present and the future of TIPC Protocol A: A brief introduction of TIPC features The Transparent Inter-Process Communication protocol(TIPC) allows applications in a clustered computer environment to communicate quickly and reliably with other applications, regardless of their location within the cluster because it owns several unique features: 1. Functional Addressing Location transparent addressing allows a client application to access a server without having to know its precise location in the network, which decouples the traditional strict relationship between service and address. 2. Service and Topology tracking function A network topology service lets applications track both functional and physical changes in the network, helping to synchronize startup of distributed applications and their responses to failure conditions. 3. Reliability Provides reliable message delivery for both connection-based and connectionless messages through unicast and multicast. Continuous communication link monitoring ensures automatic retransmission of lost messages, and failover to redundant links, without impacting applications. 4. Fully automatic neighbour discovery Supports the automatic discovery of the physical network topology and the establishment of links between neighbouring nodes through the use of a neighbour detection protocol. B: Overview of TIPC history C: Introduction of TIPC stack implementation in Linux kernel D: Share valuable experiences of developing TIPC stack E: Show demo A Linux kernel hacker, focusing on the development and maintenance of Linux kernel is over 10 years. Currently he works in WindRiver system, leading a team to maintain WindRiver Linux operation system. Meanwhile, he is a maintainer of TIPC stack in Linux kernel community, evolving TIPC stack, solving kinds of bugs, and responding to questions posted in TIPC community etc. You can find Author's contributions made in the past few years with the following link: /kernel/git/davem/net-next.git/log/ ?qt=author&q=Ying+Xue TIPC project official website:

This conference is held by

image image image image image image

and supervised by

image image

image image image image

image image image

Supporting Media and Communities

image image image image

JEAP Embedded Linux Newsmth Zeuux OSS China Loongson Club Nanjing LUG

banner image credit goes to unixstickers