mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: a.p.zijlstra@chello.nl, damien.wyart@free.fr,
	orion@cora.nwra.com, kyle@mcmartin.ca, ak@linux.intel.com,
	chase.douglas@canonical.com, mingo@elte.hu, gregkh@suse.de,
	linux-kernel@vger.kernel.org, stable@kernel.org
Subject: [PATCH] [79/139] sched: Cure more NO_HZ load average woes
Date: Tue,  1 Feb 2011 16:44:36 -0800 (PST)	[thread overview]
Message-ID: <20110202004436.785A93E09BD@tassilo.jf.intel.com> (raw)
In-Reply-To: <20110201443.618138584@firstfloor.org>

2.6.35-longterm review patch.  If anyone has any objections, please let me know.

------------------
From: Peter Zijlstra <a.p.zijlstra@chello.nl>

commit 0f004f5a696a9434b7214d0d3cbd0525ee77d428 upstream.

There's a long-running regression that proved difficult to fix and
which is hitting certain people and is rather annoying in its effects.

Damien reported that after 74f5187ac8 (sched: Cure load average vs
NO_HZ woes) his load average is unnaturally high, he also noted that
even with that patch reverted the load avgerage numbers are not
correct.

The problem is that the previous patch only solved half the NO_HZ
problem, it addressed the part of going into NO_HZ mode, not of
comming out of NO_HZ mode. This patch implements that missing half.

When comming out of NO_HZ mode there are two important things to take
care of:

 - Folding the pending idle delta into the global active count.
 - Correctly aging the averages for the idle-duration.

So with this patch the NO_HZ interaction should be complete and
behaviour between CONFIG_NO_HZ=[yn] should be equivalent.

Furthermore, this patch slightly changes the load average computation
by adding a rounding term to the fixed point multiplication.

Reported-by: Damien Wyart <damien.wyart@free.fr>
Reported-by: Tim McGrath <tmhikaru@gmail.com>
Tested-by: Damien Wyart <damien.wyart@free.fr>
Tested-by: Orion Poplawski <orion@cora.nwra.com>
Tested-by: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Chase Douglas <chase.douglas@canonical.com>
LKML-Reference: <1291129145.32004.874.camel@laptop>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>

---
 include/linux/sched.h |    2 
 kernel/sched.c        |  150 ++++++++++++++++++++++++++++++++++++++++++++++----
 kernel/timer.c        |    2 
 3 files changed, 141 insertions(+), 13 deletions(-)

Index: linux-2.6.35.y/include/linux/sched.h
===================================================================
--- linux-2.6.35.y.orig/include/linux/sched.h
+++ linux-2.6.35.y/include/linux/sched.h
@@ -143,7 +143,7 @@ extern unsigned long nr_iowait_cpu(int c
 extern unsigned long this_cpu_load(void);
 
 
-extern void calc_global_load(void);
+extern void calc_global_load(unsigned long ticks);
 
 extern unsigned long get_parent_ip(unsigned long addr);
 
Index: linux-2.6.35.y/kernel/sched.c
===================================================================
--- linux-2.6.35.y.orig/kernel/sched.c
+++ linux-2.6.35.y/kernel/sched.c
@@ -2890,6 +2890,15 @@ static long calc_load_fold_active(struct
 	return delta;
 }
 
+static unsigned long
+calc_load(unsigned long load, unsigned long exp, unsigned long active)
+{
+	load *= exp;
+	load += active * (FIXED_1 - exp);
+	load += 1UL << (FSHIFT - 1);
+	return load >> FSHIFT;
+}
+
 #ifdef CONFIG_NO_HZ
 /*
  * For NO_HZ we delay the active fold to the next LOAD_FREQ update.
@@ -2919,6 +2928,128 @@ static long calc_load_fold_idle(void)
 
 	return delta;
 }
+
+/**
+ * fixed_power_int - compute: x^n, in O(log n) time
+ *
+ * @x:         base of the power
+ * @frac_bits: fractional bits of @x
+ * @n:         power to raise @x to.
+ *
+ * By exploiting the relation between the definition of the natural power
+ * function: x^n := x*x*...*x (x multiplied by itself for n times), and
+ * the binary encoding of numbers used by computers: n := \Sum n_i * 2^i,
+ * (where: n_i \elem {0, 1}, the binary vector representing n),
+ * we find: x^n := x^(\Sum n_i * 2^i) := \Prod x^(n_i * 2^i), which is
+ * of course trivially computable in O(log_2 n), the length of our binary
+ * vector.
+ */
+static unsigned long
+fixed_power_int(unsigned long x, unsigned int frac_bits, unsigned int n)
+{
+	unsigned long result = 1UL << frac_bits;
+
+	if (n) for (;;) {
+		if (n & 1) {
+			result *= x;
+			result += 1UL << (frac_bits - 1);
+			result >>= frac_bits;
+		}
+		n >>= 1;
+		if (!n)
+			break;
+		x *= x;
+		x += 1UL << (frac_bits - 1);
+		x >>= frac_bits;
+	}
+
+	return result;
+}
+
+/*
+ * a1 = a0 * e + a * (1 - e)
+ *
+ * a2 = a1 * e + a * (1 - e)
+ *    = (a0 * e + a * (1 - e)) * e + a * (1 - e)
+ *    = a0 * e^2 + a * (1 - e) * (1 + e)
+ *
+ * a3 = a2 * e + a * (1 - e)
+ *    = (a0 * e^2 + a * (1 - e) * (1 + e)) * e + a * (1 - e)
+ *    = a0 * e^3 + a * (1 - e) * (1 + e + e^2)
+ *
+ *  ...
+ *
+ * an = a0 * e^n + a * (1 - e) * (1 + e + ... + e^n-1) [1]
+ *    = a0 * e^n + a * (1 - e) * (1 - e^n)/(1 - e)
+ *    = a0 * e^n + a * (1 - e^n)
+ *
+ * [1] application of the geometric series:
+ *
+ *              n         1 - x^(n+1)
+ *     S_n := \Sum x^i = -------------
+ *             i=0          1 - x
+ */
+static unsigned long
+calc_load_n(unsigned long load, unsigned long exp,
+	    unsigned long active, unsigned int n)
+{
+
+	return calc_load(load, fixed_power_int(exp, FSHIFT, n), active);
+}
+
+/*
+ * NO_HZ can leave us missing all per-cpu ticks calling
+ * calc_load_account_active(), but since an idle CPU folds its delta into
+ * calc_load_tasks_idle per calc_load_account_idle(), all we need to do is fold
+ * in the pending idle delta if our idle period crossed a load cycle boundary.
+ *
+ * Once we've updated the global active value, we need to apply the exponential
+ * weights adjusted to the number of cycles missed.
+ */
+static void calc_global_nohz(unsigned long ticks)
+{
+	long delta, active, n;
+
+	if (time_before(jiffies, calc_load_update))
+		return;
+
+	/*
+	 * If we crossed a calc_load_update boundary, make sure to fold
+	 * any pending idle changes, the respective CPUs might have
+	 * missed the tick driven calc_load_account_active() update
+	 * due to NO_HZ.
+	 */
+	delta = calc_load_fold_idle();
+	if (delta)
+		atomic_long_add(delta, &calc_load_tasks);
+
+	/*
+	 * If we were idle for multiple load cycles, apply them.
+	 */
+	if (ticks >= LOAD_FREQ) {
+		n = ticks / LOAD_FREQ;
+
+		active = atomic_long_read(&calc_load_tasks);
+		active = active > 0 ? active * FIXED_1 : 0;
+
+		avenrun[0] = calc_load_n(avenrun[0], EXP_1, active, n);
+		avenrun[1] = calc_load_n(avenrun[1], EXP_5, active, n);
+		avenrun[2] = calc_load_n(avenrun[2], EXP_15, active, n);
+
+		calc_load_update += n * LOAD_FREQ;
+	}
+
+	/*
+	 * Its possible the remainder of the above division also crosses
+	 * a LOAD_FREQ period, the regular check in calc_global_load()
+	 * which comes after this will take care of that.
+	 *
+	 * Consider us being 11 ticks before a cycle completion, and us
+	 * sleeping for 4*LOAD_FREQ + 22 ticks, then the above code will
+	 * age us 4 cycles, and the test in calc_global_load() will
+	 * pick up the final one.
+	 */
+}
 #else
 static void calc_load_account_idle(struct rq *this_rq)
 {
@@ -2928,6 +3059,10 @@ static inline long calc_load_fold_idle(v
 {
 	return 0;
 }
+
+static void calc_global_nohz(unsigned long ticks)
+{
+}
 #endif
 
 /**
@@ -2945,24 +3080,17 @@ void get_avenrun(unsigned long *loads, u
 	loads[2] = (avenrun[2] + offset) << shift;
 }
 
-static unsigned long
-calc_load(unsigned long load, unsigned long exp, unsigned long active)
-{
-	load *= exp;
-	load += active * (FIXED_1 - exp);
-	return load >> FSHIFT;
-}
-
 /*
  * calc_load - update the avenrun load estimates 10 ticks after the
  * CPUs have updated calc_load_tasks.
  */
-void calc_global_load(void)
+void calc_global_load(unsigned long ticks)
 {
-	unsigned long upd = calc_load_update + 10;
 	long active;
 
-	if (time_before(jiffies, upd))
+	calc_global_nohz(ticks);
+
+	if (time_before(jiffies, calc_load_update + 10))
 		return;
 
 	active = atomic_long_read(&calc_load_tasks);
Index: linux-2.6.35.y/kernel/timer.c
===================================================================
--- linux-2.6.35.y.orig/kernel/timer.c
+++ linux-2.6.35.y/kernel/timer.c
@@ -1308,7 +1308,7 @@ void do_timer(unsigned long ticks)
 {
 	jiffies_64 += ticks;
 	update_wall_time();
-	calc_global_load();
+	calc_global_load(ticks);
 }
 
 #ifdef __ARCH_WANT_SYS_ALARM

  parent reply	other threads:[~2011-02-02  0:58 UTC|newest]

Thread overview: 149+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-02-02  0:43 [PATCH] [0/139] 2.6.35.11 longterm review Andi Kleen
2011-02-02  0:43 ` [PATCH] [1/139] x86, hotplug: Use mwait to offline a processor, fix the legacy case Andi Kleen
2011-02-02  0:43 ` [PATCH] [2/139] fuse: verify ioctl retries Andi Kleen
2011-02-02  0:43 ` [PATCH] [3/139] fuse: fix ioctl when server is 32bit Andi Kleen
2011-02-02  0:43 ` [PATCH] [4/139] ALSA: HDA: Quirk for Dell Vostro 320 to make microphone work Andi Kleen
2011-02-02  0:43 ` [PATCH] [5/139] ALSA: hda: Use position_fix=1 for Acer Aspire 5538 to enable capture on internal mic Andi Kleen
2011-02-02  0:43 ` [PATCH] [6/139] ALSA: hda: Use model=lg quirk for LG P1 Express to enable playback and capture Andi Kleen
2011-02-02  0:43 ` [PATCH] [7/139] drm/radeon/kms: don't apply 7xx HDP flush workaround on AGP Andi Kleen
2011-02-02  0:43 ` [PATCH] [8/139] drm/kms: remove spaces from connector names (v2) Andi Kleen
2011-02-02  0:43 ` [PATCH] [9/139] drm/radeon/kms: fix vram base calculation on rs780/rs880 Andi Kleen
2011-02-02  0:43 ` [PATCH] [10/139] nohz: Fix printk_needs_cpu() return value on offline cpus Andi Kleen
2011-02-02  0:43 ` [PATCH] [11/139] nohz: Fix get_next_timer_interrupt() vs cpu hotplug Andi Kleen
2011-02-02  0:43 ` [PATCH] [12/139] NFS: Fix panic after nfs_umount() Andi Kleen
2011-02-02  0:43 ` [PATCH] [13/139] nfsd: Fix possible BUG_ON firing in set_change_info Andi Kleen
2011-02-02  0:43 ` [PATCH] [14/139] NFS: Fix fcntl F_GETLK not reporting some conflicts Andi Kleen
2011-02-02  0:43 ` [PATCH] [15/139] sunrpc: prevent use-after-free on clearing XPT_BUSY Andi Kleen
2011-02-02  0:43 ` [PATCH] [16/139] hwmon: (adm1026) Allow 1 as a valid divider value Andi Kleen
2011-02-02  0:43 ` [PATCH] [17/139] hwmon: (adm1026) Fix setting fan_div Andi Kleen
2011-02-02  0:43 ` [PATCH] [18/139] EDAC: Fix workqueue-related crashes Andi Kleen
2011-02-02  0:43 ` [PATCH] [19/139] amd64_edac: Fix interleaving check Andi Kleen
2011-02-02  0:43 ` [PATCH] [20/139] ASoC: Fix swap of left and right channels for WM8993/4 speaker boost gain Andi Kleen
2011-02-02  0:43 ` [PATCH] [21/139] ASoC: Fix off by one error in WM8994 EQ register bank size Andi Kleen
2011-02-02  0:43 ` [PATCH] [22/139] ASoC: WM8580: Fix R8 initial value Andi Kleen
2011-02-02  0:43 ` [PATCH] [23/139] ASoC: fix deemphasis control in wm8904/55/60 codecs Andi Kleen
2011-02-02  0:43 ` [PATCH] [24/139] bootmem: Add alloc_bootmem_align() Andi Kleen
2011-02-02  0:43 ` [PATCH] [25/139] x86, xsave: Use alloc_bootmem_align() instead of alloc_bootmem() Andi Kleen
2011-02-02  0:43 ` [PATCH] [26/139] IB/uverbs: Handle large number of entries in poll CQ Andi Kleen
2011-02-02  0:43 ` [PATCH] [27/139] PM / Hibernate: Fix PM_POST_* notification with user-space suspend Andi Kleen
2011-02-02  0:43 ` [PATCH] [28/139] ARM: 6535/1: V6 MPCore v6_dma_inv_range and v6_dma_flush_range RWFO fix Andi Kleen
2011-02-02  0:43 ` [PATCH] [29/139] qla2xxx: Correct issue where NPIV-config data was not being allocated for 82xx parts Andi Kleen
2011-02-02  0:43 ` [PATCH] [30/139] qla2xxx: Populate Command Type 6 LUN field properly Andi Kleen
2011-02-02  0:43 ` [PATCH] [31/139] llc: fix a device refcount imbalance Andi Kleen
2011-02-02  0:43 ` [PATCH] [32/139] ath9k: Disable SWBA interrupt on remove_interface Andi Kleen
2011-02-02  0:43 ` [PATCH] [33/139] ath9k: fix bug in tx power Andi Kleen
2011-02-02  0:43 ` [PATCH] [34/139] mac80211: Fix BUG in pskb_expand_head when transmitting shared skbs Andi Kleen
2011-02-02 10:53   ` Helmut Schaa
2011-02-03  0:25     ` Andi Kleen
2011-02-02  0:43 ` [PATCH] [35/139] SPARC/LEON: removed constant timer initialization as if HZ=100, now it reflects the value of HZ Andi Kleen
2011-02-02  0:43 ` [PATCH] [36/139] sparc64: Delete prom_puts() unused Andi Kleen
2011-02-02  0:43 ` [PATCH] [37/139] sparc: Remove prom_pathtoinode() Andi Kleen
2011-02-02  0:43 ` [PATCH] [38/139] sparc: Kill prom devops_{32,64}.c Andi Kleen
2011-02-02  0:43 ` [PATCH] [39/139] sparc64: Unexport prom_service_exists() Andi Kleen
2011-02-02  0:43 ` [PATCH] [40/139] sparc64: Delete prom_setcallback() Andi Kleen
2011-02-02  0:43 ` [PATCH] [41/139] sparc: Do not export prom_nb{get,put}char() Andi Kleen
2011-02-02  0:43 ` [PATCH] [42/139] sparc: Pass buffer pointer all the way down to prom_{get,put}char() Andi Kleen
2011-02-02  0:43 ` [PATCH] [43/139] sparc: Delete prom_*getchar() Andi Kleen
2011-02-02  0:43 ` [PATCH] [44/139] sparc: Write to prom console using indirect buffer Andi Kleen
2011-02-02  0:44 ` [PATCH] [45/139] tcp: Don't change unlocked socket state in tcp_v4_err() Andi Kleen
2011-02-02  0:44 ` [PATCH] [46/139] tcp: Increase TCP_MAXSEG socket option minimum Andi Kleen
2011-02-02  0:44 ` [PATCH] [47/139] tcp: Make TCP_MAXSEG minimum more correct Andi Kleen
2011-02-02  0:44 ` [PATCH] [48/139] tcp: Bug fix in initialization of receive window Andi Kleen
2011-02-02  0:44 ` [PATCH] [49/139] tcp: avoid a possible divide by zero Andi Kleen
2011-02-02  0:44 ` [PATCH] [50/139] tcp: protect sysctl_tcp_cookie_size reads Andi Kleen
2011-02-02  0:44 ` [PATCH] [51/139] 8139cp: fix checksum broken Andi Kleen
2011-02-02  0:44 ` [PATCH] [52/139] r8169: fix sleeping while holding spinlock Andi Kleen
2011-02-02  0:44 ` [PATCH] [53/139] af_unix: limit unix_tot_inflight Andi Kleen
2011-02-02  0:44 ` [PATCH] [54/139] scm: Capture the full credentials of the scm sender Andi Kleen
2011-02-02  0:44 ` [PATCH] [55/139] af_unix: Allow credentials to work across user and pid namespaces Andi Kleen
2011-02-02  0:44 ` [PATCH] [56/139] user_ns: Introduce user_nsmap_uid and user_ns_map_gid Andi Kleen
2011-02-02  0:44 ` [PATCH] [57/139] sock: Introduce cred_to_ucred Andi Kleen
2011-02-02  0:44 ` [PATCH] [58/139] net: Export cred_to_ucred to modules Andi Kleen
2011-02-02  0:44 ` [PATCH] [59/139] af_unix: limit recursion level Andi Kleen
2011-02-02  0:44 ` [PATCH] [60/139] net: ax25: fix information leak to userland Andi Kleen
2011-02-02  0:44 ` [PATCH] [61/139] driver/net/benet: fix be_cmd_multicast_set() memcpy bug Andi Kleen
2011-02-02  0:44 ` [PATCH] [62/139] bonding: Fix slave selection bug Andi Kleen
2011-02-02  0:44 ` [PATCH] [63/139] bridge: fix IPv6 queries for bridge multicast snooping Andi Kleen
2011-02-02  0:44 ` [PATCH] [64/139] cls_cgroup: Fix crash on module unload Andi Kleen
2011-02-02  0:44 ` [PATCH] [65/139] filter: fix sk_filter rcu handling Andi Kleen
2011-02-02  0:44 ` [PATCH] [66/139] econet: Do the correct cleanup after an unprivileged SIOCSIFADDR Andi Kleen
2011-02-02  0:44 ` [PATCH] [67/139] econet: Fix crash in aun_incoming() Andi Kleen
2011-02-02  0:44 ` [PATCH] [68/139] ifb: goto resched directly if error happens and dp->tq isn't empty Andi Kleen
2011-02-02  0:44 ` [PATCH] [69/139] l2tp: Fix modalias of l2tp_ip Andi Kleen
2011-02-02  0:44 ` [PATCH] [70/139] x25: decrement netdev reference counts on unload Andi Kleen
2011-02-02  0:44 ` [PATCH] [71/139] tehuti: Firmware filename is tehuti/bdx.bin Andi Kleen
2011-02-02  0:44 ` [PATCH] [72/139] net/dst: dst_dev_event() called after other notifiers Andi Kleen
2011-02-02  0:44 ` [PATCH] [73/139] net: Fix header size check for GSO case in recvmsg (af_packet) Andi Kleen
2011-02-02  0:44 ` [PATCH] [74/139] net: packet: fix information leak to userland Andi Kleen
2011-02-02  0:44 ` [PATCH] [75/139] ACPICA: Fix Scope() op in module level code Andi Kleen
2011-02-02  0:44 ` [PATCH] [76/139] nouveau: Acknowledge HPD irq in handler, not bottom half Andi Kleen
2011-02-02  0:44 ` [PATCH] [77/139] printk: Fix wake_up_klogd() vs cpu hotplug Andi Kleen
2011-02-02  0:44 ` [PATCH] [78/139] xen: Provide a variant of __RING_SIZE() that is an integer constant expression Andi Kleen
2011-02-02  0:44 ` Andi Kleen [this message]
2011-02-02  0:44 ` [PATCH] [80/139] ACPI: EC: Add another dmi match entry for MSI hardware Andi Kleen
2011-02-02  0:44 ` [PATCH] [81/139] PM / Runtime: Fix pm_runtime_suspended() Andi Kleen
2011-02-02  0:44 ` [PATCH] [82/139] inotify: stop kernel memory leak on file creation failure Andi Kleen
2011-02-02  0:44 ` [PATCH] [83/139] orinoco: fix TKIP countermeasure behaviour Andi Kleen
2011-02-02  0:44 ` [PATCH] [84/139] orinoco: clear countermeasure setting on commit Andi Kleen
2011-02-02  0:44 ` [PATCH] [85/139] x86, amd: Fix panic on AMD CPU family 0x15 Andi Kleen
2011-02-02  0:44 ` [PATCH] [86/139] md: fix bug with re-adding of partially recovered device Andi Kleen
2011-02-02  0:44 ` [PATCH] [87/139] md: protect against NULL reference when waiting to start a raid10 Andi Kleen
2011-02-02  0:44 ` [PATCH] [88/139] tracing: Fix panic when lseek() called on "trace" opened for writing Andi Kleen
2011-02-02  0:44 ` [PATCH] [89/139] x86, gcc-4.6: Use gcc -m options when building vdso Andi Kleen
2011-02-02  0:44 ` [PATCH] [90/139] x86: Enable the intr-remap fault handling after local APIC setup Andi Kleen
2011-02-02  0:44 ` [PATCH] [91/139] x86, vt-d: Handle previous faults after enabling fault handling Andi Kleen
2011-02-02  0:44 ` [PATCH] [92/139] x86, vt-d: Fix the vt-d fault handling irq migration in the x2apic mode Andi Kleen
2011-02-02  0:44 ` [PATCH] [93/139] x86, vt-d: Quirk for masking vtd spec errors to platform error handling logic Andi Kleen
2011-02-02  0:44 ` [PATCH] [94/139] rt2x00: Fix max TX power settings Andi Kleen
2011-02-02  0:44 ` [PATCH] [95/139] ALSA: hda - Enable jack sense for Thinkpad Edge 11 Andi Kleen
2011-02-02  0:44 ` [PATCH] [96/139] Input: synaptics - fix handling of 2-button ClickPads Andi Kleen
2011-02-02  0:44 ` [PATCH] [97/139] install_special_mapping skips security_file_mmap check Andi Kleen
2011-02-02  0:44 ` [PATCH] [98/139] USB: misc: uss720.c: add another vendor/product ID Andi Kleen
2011-02-02  0:44 ` [PATCH] [99/139] USB: ftdi_sio: Add D.O.Tec PID Andi Kleen
2011-02-02  0:44 ` [PATCH] [100/139] USB: usb-storage: unusual_devs entry for the Samsung YP-CP3 Andi Kleen
2011-02-02  0:44 ` [PATCH] [101/139] Revert "USB: gadget: Allow function access to device ID data during bind()" Andi Kleen
2011-02-02  0:45 ` [PATCH] [102/139] p54usb: add 5 more USBIDs Andi Kleen
2011-02-02  0:45 ` [PATCH] [103/139] p54usb: New USB ID for Gemtek WUBI-100GW Andi Kleen
2011-02-02  0:45 ` [PATCH] [104/139] n_gsm: Fix message length handling when building header Andi Kleen
2011-02-02  0:45 ` [PATCH] [105/139] n_gsm: gsm_data_alloc buffer allocation could fail and it is not being checked Andi Kleen
2011-02-02  0:45 ` [PATCH] [106/139] xhci: Fix issue with port array setup and buggy hosts Andi Kleen
2011-02-02  0:45 ` [PATCH] [107/139] gpio: Fix null pointer dereference while accessing rdc321x platform_data Andi Kleen
2011-02-02  0:45 ` [PATCH] [108/139] cs5535-gpio: don't apply errata #36 to edge detect GPIOs Andi Kleen
2011-02-02  0:45 ` [PATCH] [109/139] cs5535-gpio: handle GPIO regs where higher (clear) bits are set Andi Kleen
2011-02-02  0:45 ` [PATCH] [110/139] mmc: at91_mci: fix multiblock SDIO transfers Andi Kleen
2011-02-02  0:45 ` [PATCH] [111/139] mmc: atmel-mci: " Andi Kleen
2011-02-02  0:45 ` [PATCH] [112/139] mmc: Fix re-probing with PM_POST_RESTORE notification Andi Kleen
2011-02-02  0:45 ` [PATCH] [113/139] fix freeing user_struct in user cache Andi Kleen
2011-02-02  0:45 ` [PATCH] [114/139] rtc: rs5c372: fix buffer size Andi Kleen
2011-02-02  0:45 ` [PATCH] [115/139] RAMOOPS: Don't overflow over non-allocated regions Andi Kleen
2011-02-02  0:45 ` [PATCH] [116/139] watchdog: Fix null pointer dereference while accessing rdc321x platform_data Andi Kleen
2011-02-02  0:45 ` [PATCH] [117/139] arch/x86/oprofile/op_model_amd.c: Perform initialisation on a single CPU Andi Kleen
2011-02-02  0:45 ` [PATCH] [118/139] mfd: Support additional parent IDs for wm831x Andi Kleen
2011-02-02  0:45 ` [PATCH] [119/139] mfd: Supply IRQ base for WM832x devices Andi Kleen
2011-02-02  0:45 ` [PATCH] [120/139] drm/radeon/kms/evergreen: reset the grbm blocks at resume and init Andi Kleen
2011-02-02  0:45 ` [PATCH] [121/139] drm/radeon/kms: fix evergreen asic reset Andi Kleen
2011-02-02  0:45 ` [PATCH] [122/139] drm/radeon/kms: reorder display resume to avoid problems Andi Kleen
2011-02-02  0:45 ` [PATCH] [123/139] drm/i915/dp: Fix I2C/EDID handling with active DisplayPort to DVI converter Andi Kleen
2011-02-02  0:45 ` [PATCH] [124/139] sound: Prevent buffer overflow in OSS load_mixer_volumes Andi Kleen
2011-02-02  0:45 ` [PATCH] [125/139] mv_xor: fix race in tasklet function Andi Kleen
2011-02-02  0:45 ` [PATCH] [126/139] ima: fix add LSM rule bug Andi Kleen
2011-02-02  0:45 ` [PATCH] [127/139] libata-sff: fix HSM_ST_ERR handling in __ata_sff_port_intr() Andi Kleen
2011-02-02  0:45 ` [PATCH] [128/139] mac80211: fix mesh forwarding Andi Kleen
2011-02-02  7:56   ` Johannes Berg
2011-02-03  0:06     ` Andi Kleen
2011-02-02  0:45 ` [PATCH] [129/139] ALSA: hda: Use LPIB quirk for Dell Inspiron m101z/1120 Andi Kleen
2011-02-02  0:45 ` [PATCH] [130/139] Sched: fix skip_clock_update optimization Andi Kleen
2011-02-02  0:45 ` [PATCH] [131/139] block: Deprecate QUEUE_FLAG_CLUSTER and use queue_limits instead Andi Kleen
2011-02-02  0:45 ` [PATCH] [132/139] x86/microcode: Fix double vfree() and remove redundant pointer checks before vfree() Andi Kleen
2011-02-02  0:45 ` [PATCH] [133/139] posix-cpu-timers: workaround to suppress the problems with mt exec Andi Kleen
2011-02-02  0:45 ` [PATCH] [134/139] gspca - sonixj: Set the flag for some devices Andi Kleen
2011-02-02  0:45 ` [PATCH] [135/139] gspca - sonixj: Add a flag in the driver_info table Andi Kleen
2011-02-02  0:45 ` [PATCH] [136/139] [PATCH 2.6.35] mac80211: fix hard lockup in Andi Kleen
2011-02-02  0:45 ` [PATCH] [137/139] Input: i8042 - introduce 'notimeout' blacklist for Dell Vostro V13 Andi Kleen
2011-02-02  0:45 ` [PATCH] [138/139] Revert drm/radeon/kms: properly compute group_size on 6xx/7xx Andi Kleen
2011-02-02  0:45 ` [PATCH] [139/139] Subject: Release 2.6.35.11 Andi Kleen
2011-02-04 17:38 ` [PATCH] [0/139] 2.6.35.11 longterm review Frederic Weisbecker
2011-02-05 23:55   ` Andi Kleen
2011-02-06  0:45     ` Frederic Weisbecker
2011-02-06 18:02     ` Chuck Ebbert
2011-02-06 20:39       ` Andi Kleen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110202004436.785A93E09BD@tassilo.jf.intel.com \
    --to=andi@firstfloor.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=ak@linux.intel.com \
    --cc=chase.douglas@canonical.com \
    --cc=damien.wyart@free.fr \
    --cc=gregkh@suse.de \
    --cc=kyle@mcmartin.ca \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=orion@cora.nwra.com \
    --cc=stable@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome