Browse Prior Art Database

Expedited RCU Grace Periods With Improved Energy Efficiency

IP.com Disclosure Number: IPCOM000242015D
Publication Date: 2015-Jun-15
Document File: 1 page(s) / 76K

Publishing Venue

The IP.com Prior Art Database

Abstract

An expedited read-copy-update (RCU) grace periods with improved energy efficiency is disclosed.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 51% of the total text.

Page 01 of 1

Expedited RCU Grace Periods With Improved Energy Efficiency

Disclosed is an expedited read-copy-update (RCU) grace periods with improved energy efficiency.

RCU is a synchronization mechanism added to the Linux kernel in 2002 and made available as a user space library in 2009. RCU features extremely lightweight read-side primitives, in some cases in practice, zero-overhead read-side primitives. However, there is no free lunch, and the price required by RCU is that updates can incur more overhead and latency, especially given that there is no way to block or even delay RCU readers. In particular, in the Linux kernel, the synchronous synchronize_sched() update-side primitive can have multi-millisecond latency, which is too large for some

use cases.

The Linux kernel therefore provides a synchronize_sched_expedited() primitive that forces a schedule (and thus a quiescent state) on all online central processing units ( CPUs). This primitive is much faster than synchronize_sched(), incurring a latency of tens of microseconds (instead of milliseconds) on modest-sized machines. However, it schedules on CPUs that are idle (and thus already in an extended quiescent state) and on CPUs that are running in user space on tickless-userspace (NO_HZ_FULL) CPUs (and again thus already in an extended quiescent state). This degrades energy efficiency by needlessly interrupting idle CPUs, thus forcing them to power up momentarily -- and uselessly.

What is needed is a way to avoid int...