stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: lizf@kernel.org
To: stable@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Joonsoo Kim <js1304@gmail.com>,
	Pekka Enberg <penberg@kernel.org>, Zefan Li <lizefan@huawei.com>
Subject: [PATCH 3.4 172/172] slub: refactoring unfreeze_partials()
Date: Tue, 16 Jun 2015 16:37:06 +0800	[thread overview]
Message-ID: <1434443826-4929-172-git-send-email-lizf@kernel.org> (raw)
In-Reply-To: <1434443587-4599-1-git-send-email-lizf@kernel.org>

From: Joonsoo Kim <js1304@gmail.com>

3.4.108-rc1 review patch.  If anyone has any objections, please let me know.

------------------


commit 43d77867a4f333de4e4189114c480dd365133c09 upstream.

Current implementation of unfreeze_partials() is so complicated,
but benefit from it is insignificant. In addition many code in
do {} while loop have a bad influence to a fail rate of cmpxchg_double_slab.
Under current implementation which test status of cpu partial slab
and acquire list_lock in do {} while loop,
we don't need to acquire a list_lock and gain a little benefit
when front of the cpu partial slab is to be discarded, but this is a rare case.
In case that add_partial is performed and cmpxchg_double_slab is failed,
remove_partial should be called case by case.

I think that these are disadvantages of current implementation,
so I do refactoring unfreeze_partials().

Minimizing code in do {} while loop introduce a reduced fail rate
of cmpxchg_double_slab. Below is output of 'slabinfo -r kmalloc-256'
when './perf stat -r 33 hackbench 50 process 4000 > /dev/null' is done.

** before **
Cmpxchg_double Looping
------------------------
Locked Cmpxchg Double redos   182685
Unlocked Cmpxchg Double redos 0

** after **
Cmpxchg_double Looping
------------------------
Locked Cmpxchg Double redos   177995
Unlocked Cmpxchg Double redos 1

We can see cmpxchg_double_slab fail rate is improved slightly.

Bolow is output of './perf stat -r 30 hackbench 50 process 4000 > /dev/null'.

** before **
 Performance counter stats for './hackbench 50 process 4000' (30 runs):

     108517.190463 task-clock                #    7.926 CPUs utilized            ( +-  0.24% )
         2,919,550 context-switches          #    0.027 M/sec                    ( +-  3.07% )
           100,774 CPU-migrations            #    0.929 K/sec                    ( +-  4.72% )
           124,201 page-faults               #    0.001 M/sec                    ( +-  0.15% )
   401,500,234,387 cycles                    #    3.700 GHz                      ( +-  0.24% )
   <not supported> stalled-cycles-frontend
   <not supported> stalled-cycles-backend
   250,576,913,354 instructions              #    0.62  insns per cycle          ( +-  0.13% )
    45,934,956,860 branches                  #  423.297 M/sec                    ( +-  0.14% )
       188,219,787 branch-misses             #    0.41% of all branches          ( +-  0.56% )

      13.691837307 seconds time elapsed                                          ( +-  0.24% )

** after **
 Performance counter stats for './hackbench 50 process 4000' (30 runs):

     107784.479767 task-clock                #    7.928 CPUs utilized            ( +-  0.22% )
         2,834,781 context-switches          #    0.026 M/sec                    ( +-  2.33% )
            93,083 CPU-migrations            #    0.864 K/sec                    ( +-  3.45% )
           123,967 page-faults               #    0.001 M/sec                    ( +-  0.15% )
   398,781,421,836 cycles                    #    3.700 GHz                      ( +-  0.22% )
   <not supported> stalled-cycles-frontend
   <not supported> stalled-cycles-backend
   250,189,160,419 instructions              #    0.63  insns per cycle          ( +-  0.09% )
    45,855,370,128 branches                  #  425.436 M/sec                    ( +-  0.10% )
       169,881,248 branch-misses             #    0.37% of all branches          ( +-  0.43% )

      13.596272341 seconds time elapsed                                          ( +-  0.22% )

No regression is found, but rather we can see slightly better result.

Acked-by: Christoph Lameter <cl@linux.com>
Signed-off-by: Joonsoo Kim <js1304@gmail.com>
Signed-off-by: Pekka Enberg <penberg@kernel.org>
[lizf: Backported to 3.4: adjust context]
Signed-off-by: Zefan Li <lizefan@huawei.com>
---
 mm/slub.c | 48 ++++++++++++++----------------------------------
 1 file changed, 14 insertions(+), 34 deletions(-)

diff --git a/mm/slub.c b/mm/slub.c
index 54ac6e9..aff0637 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -1882,18 +1882,24 @@ redo:
 /* Unfreeze all the cpu partial slabs */
 static void unfreeze_partials(struct kmem_cache *s)
 {
-	struct kmem_cache_node *n = NULL;
+	struct kmem_cache_node *n = NULL, *n2 = NULL;
 	struct kmem_cache_cpu *c = this_cpu_ptr(s->cpu_slab);
 	struct page *page, *discard_page = NULL;
 
 	while ((page = c->partial)) {
-		enum slab_modes { M_PARTIAL, M_FREE };
-		enum slab_modes l, m;
 		struct page new;
 		struct page old;
 
 		c->partial = page->next;
-		l = M_FREE;
+
+		n2 = get_node(s, page_to_nid(page));
+		if (n != n2) {
+			if (n)
+				spin_unlock(&n->list_lock);
+
+			n = n2;
+			spin_lock(&n->list_lock);
+		}
 
 		do {
 
@@ -1906,43 +1912,17 @@ static void unfreeze_partials(struct kmem_cache *s)
 
 			new.frozen = 0;
 
-			if (!new.inuse && (!n || n->nr_partial > s->min_partial))
-				m = M_FREE;
-			else {
-				struct kmem_cache_node *n2 = get_node(s,
-							page_to_nid(page));
-
-				m = M_PARTIAL;
-				if (n != n2) {
-					if (n)
-						spin_unlock(&n->list_lock);
-
-					n = n2;
-					spin_lock(&n->list_lock);
-				}
-			}
-
-			if (l != m) {
-				if (l == M_PARTIAL) {
-					remove_partial(n, page);
-					stat(s, FREE_REMOVE_PARTIAL);
-				} else {
-					add_partial(n, page,
-						DEACTIVATE_TO_TAIL);
-					stat(s, FREE_ADD_PARTIAL);
-				}
-
-				l = m;
-			}
-
 		} while (!cmpxchg_double_slab(s, page,
 				old.freelist, old.counters,
 				new.freelist, new.counters,
 				"unfreezing slab"));
 
-		if (m == M_FREE) {
+		if (unlikely(!new.inuse && n->nr_partial > s->min_partial)) {
 			page->next = discard_page;
 			discard_page = page;
+		} else {
+			add_partial(n, page, DEACTIVATE_TO_TAIL);
+			stat(s, FREE_ADD_PARTIAL);
 		}
 	}
 
-- 
1.9.1


  parent reply	other threads:[~2015-06-16  8:37 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-16  8:33 [PATCH 3.4 000/172] 3.4.108-rc1 review lizf
2015-06-16  8:34 ` [PATCH 3.4 001/172] ARM: pxa: add regulator_has_full_constraints to corgi board file lizf
2015-06-16  8:34 ` [PATCH 3.4 002/172] ARM: pxa: add regulator_has_full_constraints to poodle " lizf
2015-06-16  8:34 ` [PATCH 3.4 003/172] ARM: pxa: add regulator_has_full_constraints to spitz " lizf
2015-06-16  8:34 ` [PATCH 3.4 004/172] hx4700: regulator: declare full constraints lizf
2015-06-16  8:34 ` [PATCH 3.4 005/172] PCI: Generate uppercase hex for modalias var in uevent lizf
2015-06-16  8:34 ` [PATCH 3.4 006/172] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN lizf
2015-06-16  8:34 ` [PATCH 3.4 007/172] axonram: Fix bug in direct_access lizf
2015-06-16  8:34 ` [PATCH 3.4 008/172] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device lizf
2015-06-16  8:34 ` [PATCH 3.4 009/172] smack: fix possible use after frees in task_security() callers lizf
2015-06-16  8:34 ` [PATCH 3.4 010/172] KVM: s390: base hrtimer on a monotonic clock lizf
2015-06-16  8:34 ` [PATCH 3.4 011/172] PCI: Fix infinite loop with ROM image of size 0 lizf
2015-06-16  8:34 ` [PATCH 3.4 012/172] USB: cp210x: add ID for RUGGEDCOM USB Serial Console lizf
2015-06-16  8:34 ` [PATCH 3.4 013/172] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back lizf
2015-06-16  8:34 ` [PATCH 3.4 014/172] ARM: 8284/1: sa1100: clear RCSR_SMR on resume lizf
2015-06-16  8:34 ` [PATCH 3.4 015/172] xprtrdma: Free the pd if ib_query_qp() fails lizf
2015-06-16  8:34 ` [PATCH 3.4 016/172] cdc-acm: add sanity checks lizf
2015-06-16  8:34 ` [PATCH 3.4 017/172] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) lizf
2015-06-16  8:34 ` [PATCH 3.4 018/172] USB: fix use-after-free bug in usb_hcd_unlink_urb() lizf
2015-06-16  8:34 ` [PATCH 3.4 019/172] vt: provide notifications on selection changes lizf
2015-06-16  8:34 ` [PATCH 3.4 020/172] tty: Prevent untrappable signals from malicious program lizf
2015-06-16  8:34 ` [PATCH 3.4 021/172] ath5k: fix spontaneus AR5312 freezes lizf
2015-06-16  8:34 ` [PATCH 3.4 022/172] rtnetlink: ifla_vf_policy: fix misuses of NLA_BINARY lizf
2015-06-16  8:34 ` [PATCH 3.4 023/172] ALSA: off by one bug in snd_riptide_joystick_probe() lizf
2015-06-16  8:34 ` [PATCH 3.4 024/172] fsnotify: fix handling of renames in audit lizf
2015-06-16  8:34 ` [PATCH 3.4 025/172] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args lizf
2015-06-16  8:34 ` [PATCH 3.4 026/172] cpufreq: speedstep-smi: enable interrupts when waiting lizf
2015-06-16  8:34 ` [PATCH 3.4 027/172] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() lizf
2015-06-16  8:34 ` [PATCH 3.4 028/172] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection lizf
2015-06-16  8:34 ` [PATCH 3.4 029/172] mm/hugetlb: add migration entry check in __unmap_hugepage_range lizf
2015-06-16  8:34 ` [PATCH 3.4 030/172] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() lizf
2015-06-16  8:34 ` [PATCH 3.4 031/172] mm/nommu.c: " lizf
2015-06-16  8:34 ` [PATCH 3.4 032/172] iscsi-target: Drop problematic active_ts_list usage lizf
2015-06-16  8:34 ` [PATCH 3.4 033/172] mm/memory.c: actually remap enough memory lizf
2015-06-16  8:34 ` [PATCH 3.4 034/172] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary lizf
2015-06-16  8:34 ` [PATCH 3.4 035/172] ALSA: hdspm - Constrain periods to 2 on older cards lizf
2015-06-16  9:45   ` Adrian Knoth
2015-06-18  3:18     ` Zefan Li
2015-06-16  8:34 ` [PATCH 3.4 036/172] jffs2: fix handling of corrupted summary length lizf
2015-06-16  8:34 ` [PATCH 3.4 037/172] dm mirror: do not degrade the mirror on discard error lizf
2015-06-16  8:34 ` [PATCH 3.4 038/172] dm io: reject unsupported DISCARD requests with EOPNOTSUPP lizf
2015-06-16  8:34 ` [PATCH 3.4 039/172] ipv6: fix ipv6_cow_metrics for non DST_HOST case lizf
2015-06-16  8:34 ` [PATCH 3.4 040/172] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit lizf
2015-06-16  8:34 ` [PATCH 3.4 041/172] sg: fix read() error reporting lizf
2015-06-16  8:34 ` [PATCH 3.4 042/172] IB/qib: Do not write EEPROM lizf
2015-06-16  8:34 ` [PATCH 3.4 043/172] dm: fix a race condition in dm_get_md lizf
2015-06-16  8:34 ` [PATCH 3.4 044/172] dm snapshot: fix a possible invalid memory access on unload lizf
2015-06-16  8:34 ` [PATCH 3.4 045/172] kdb: fix incorrect counts in KDB summary command output lizf
2015-06-16  8:35 ` [PATCH 3.4 046/172] debugfs: leave freeing a symlink body until inode eviction lizf
2015-06-16  8:35 ` [PATCH 3.4 047/172] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation lizf
2015-06-16  8:35 ` [PATCH 3.4 048/172] gpio: tps65912: fix wrong container_of arguments lizf
2015-06-16  8:35 ` [PATCH 3.4 049/172] ALSA: pcm: Don't leave PREPARED state after draining lizf
2015-06-16  8:35 ` [PATCH 3.4 050/172] nilfs2: fix potential memory overrun on inode lizf
2015-06-16  8:35 ` [PATCH 3.4 051/172] netfilter: xt_socket: fix a stack corruption bug lizf
2015-06-16 10:23   ` Pablo Neira Ayuso
2015-06-16  8:35 ` [PATCH 3.4 052/172] team: fix possible null pointer dereference in team_handle_frame lizf
2015-06-16  8:35 ` [PATCH 3.4 053/172] KVM: emulate: fix CMPXCHG8B on 32-bit hosts lizf
2015-06-16  8:35 ` [PATCH 3.4 054/172] xhci: Allocate correct amount of scratchpad buffers lizf
2015-06-16  8:35 ` [PATCH 3.4 055/172] USB: usbfs: don't leak kernel data in siginfo lizf
2015-06-16  8:35 ` [PATCH 3.4 056/172] USB: ftdi_sio: add PIDs for Actisense USB devices lizf
2015-06-16  8:35 ` [PATCH 3.4 057/172] USB: serial: fix potential use-after-free after failed probe lizf
2015-06-16  8:35 ` [PATCH 3.4 058/172] USB: serial: fix tty-device error handling at probe lizf
2015-06-16  8:35 ` [PATCH 3.4 059/172] mac80211: Send EAPOL frames at lowest rate lizf
2015-06-16  8:35 ` [PATCH 3.4 060/172] USB: serial: cp210x: Adding Seletek device id's lizf
2015-06-16  8:35 ` [PATCH 3.4 061/172] NFSv4: Don't call put_rpccred() under the rcu_read_lock() lizf
2015-06-16  8:35 ` [PATCH 3.4 062/172] usb: ftdi_sio: Add jtag quirk support for Cyber Cortex AV boards lizf
2015-06-16  8:35 ` [PATCH 3.4 063/172] eCryptfs: don't pass fs-specific ioctl commands through lizf
2015-06-16  8:35 ` [PATCH 3.4 064/172] drm/radeon: do a posting read in r100_set_irq lizf
2015-06-16  8:35 ` [PATCH 3.4 065/172] drm/radeon: do a posting read in rs600_set_irq lizf
2015-06-16  8:35 ` [PATCH 3.4 066/172] drm/radeon: do a posting read in r600_set_irq lizf
2015-06-16  8:35 ` [PATCH 3.4 067/172] drm/radeon: do a posting read in evergreen_set_irq lizf
2015-06-16  8:35 ` [PATCH 3.4 068/172] drm/radeon: do a posting read in si_set_irq lizf
2015-06-16  8:35 ` [PATCH 3.4 069/172] drm/radeon: fix DRM_IOCTL_RADEON_CS oops lizf
2015-06-16  8:35 ` [PATCH 3.4 070/172] ACPI / video: Load the module even if ACPI is disabled lizf
2015-06-16  8:35 ` [PATCH 3.4 071/172] ASoC: omap-pcm: Correct dma mask lizf
2015-06-16  8:35 ` [PATCH 3.4 072/172] x86/asm/entry/64: Remove a bogus 'ret_from_fork' optimization lizf
2015-06-16  8:35 ` [PATCH 3.4 073/172] xhci: fix reporting of 0-sized URBs in control endpoint lizf
2015-06-16  8:35 ` [PATCH 3.4 074/172] xhci: Workaround for PME stuck issues in Intel xhci lizf
2015-06-16  8:35 ` [PATCH 3.4 075/172] Change email address for 8250_pci lizf
2015-06-16  8:35 ` [PATCH 3.4 076/172] tty: fix up atime/mtime mess, take four lizf
2015-06-16  8:35 ` [PATCH 3.4 077/172] console: Fix console name size mismatch lizf
2015-06-16  8:35 ` [PATCH 3.4 078/172] net: irda: fix wait_until_sent poll timeout lizf
2015-06-16  8:35 ` [PATCH 3.4 079/172] TTY: fix tty_wait_until_sent on 64-bit machines lizf
2015-06-16  8:35 ` [PATCH 3.4 080/172] sunrpc: fix braino in ->poll() lizf
2015-06-16  8:35 ` [PATCH 3.4 081/172] gadgetfs: use-after-free in ->aio_read() lizf
2015-06-16  8:35 ` [PATCH 3.4 082/172] ipvs: add missing ip_vs_pe_put in sync code lizf
2015-06-16  8:35 ` [PATCH 3.4 083/172] ARM: at91: pm: fix at91rm9200 standby lizf
2015-06-16  8:35 ` [PATCH 3.4 084/172] bnx2x: Force fundamental reset for EEH recovery lizf
2015-06-16  8:35 ` [PATCH 3.4 085/172] libsas: Fix Kernel Crash in smp_execute_task lizf
2015-06-16  8:35 ` [PATCH 3.4 086/172] can: add missing initialisations in CAN related skbuffs lizf
2015-06-16  8:35 ` [PATCH 3.4 087/172] ftrace: Fix en(dis)able graph caller when en(dis)abling record via sysctl lizf
2015-06-16  8:35 ` [PATCH 3.4 088/172] ftrace: Fix ftrace enable ordering of sysctl ftrace_enabled lizf
2015-06-16  8:35 ` [PATCH 3.4 089/172] xen-pciback: limit guest control of command register lizf
2015-06-16  8:35 ` [PATCH 3.4 090/172] drm/vmwgfx: Reorder device takedown somewhat lizf
2015-06-16  8:35 ` [PATCH 3.4 091/172] ALSA: control: Add sanity checks for user ctl id name string lizf
2015-06-16  8:35 ` [PATCH 3.4 092/172] ALSA: snd-usb: add quirks for Roland UA-22 lizf
2015-06-16  8:35 ` [PATCH 3.4 093/172] fuse: notify: don't move pages lizf
2015-06-16  8:35 ` [PATCH 3.4 094/172] fuse: set stolen page uptodate lizf
2015-06-16  8:35 ` [PATCH 3.4 095/172] dm: hold suspend_lock while suspending device during device deletion lizf
2015-06-16  8:35 ` [PATCH 3.4 096/172] dm io: deal with wandering queue limits when handling REQ_DISCARD and REQ_WRITE_SAME lizf
2015-06-16  8:35 ` [PATCH 3.4 097/172] mac80211: drop unencrypted frames in mesh fwding lizf
2015-06-16  8:35 ` [PATCH 3.4 098/172] mac80211: set only VO as a U-APSD enabled AC lizf
2015-06-16  8:35 ` [PATCH 3.4 099/172] mac80211: disable u-APSD queues by default lizf
2015-06-16  8:35 ` [PATCH 3.4 100/172] virtio_console: init work unconditionally lizf
2015-06-16  8:35 ` [PATCH 3.4 101/172] virtio_console: avoid config access from irq lizf
2015-06-16  8:35 ` [PATCH 3.4 102/172] x86/vdso: Fix the build on GCC5 lizf
2015-06-16  8:35 ` [PATCH 3.4 103/172] ASoC: sgtl5000: remove useless register write clearing CHRGPUMP_POWERUP lizf
2015-06-16  8:35 ` [PATCH 3.4 104/172] Input: synaptics - query min dimensions for fw v8.1 lizf
2015-06-16  8:35 ` [PATCH 3.4 105/172] Input: synaptics - fix middle button on Lenovo 2015 products lizf
2015-06-16  8:36 ` [PATCH 3.4 106/172] Input: synaptics - handle spurious release of trackstick buttons lizf
2015-06-16  8:36 ` [PATCH 3.4 107/172] vt6655: RFbSetPower fix missing rate RATE_12M lizf
2015-06-16  8:36 ` [PATCH 3.4 108/172] x86/asm/entry/32: Fix user_mode() misuses lizf
2015-06-16  8:36 ` [PATCH 3.4 109/172] ASoC: adav80x: Fix wrong value references for boolean kctl lizf
2015-06-16  8:36 ` [PATCH 3.4 110/172] ASoC: ak4641: " lizf
2015-06-16  8:36 ` [PATCH 3.4 111/172] ASoC: cs4271: " lizf
2015-06-16  8:36 ` [PATCH 3.4 112/172] ASoC: wm2000: " lizf
2015-06-16  8:36 ` [PATCH 3.4 113/172] ASoC: wm8731: " lizf
2015-06-16  8:36 ` [PATCH 3.4 114/172] ASoC: wm8903: " lizf
2015-06-16  8:36 ` [PATCH 3.4 115/172] ASoC: wm8904: " lizf
2015-06-16  8:36 ` [PATCH 3.4 116/172] ASoC: wm8955: " lizf
2015-06-16  8:36 ` [PATCH 3.4 117/172] ASoC: wm8960: " lizf
2015-06-16  8:36 ` [PATCH 3.4 118/172] crypto: aesni - fix memory usage in GCM decryption lizf
2015-06-16  8:36 ` [PATCH 3.4 119/172] nl80211: ignore HT/VHT capabilities without QoS/WMM lizf
2015-06-16  8:36 ` [PATCH 3.4 120/172] IB/mlx4: Saturate RoCE port PMA counters in case of overflow lizf
2015-06-16  8:36 ` [PATCH 3.4 121/172] tcm_fc: missing curly braces in ft_invl_hw_context() lizf
2015-06-16  8:36 ` [PATCH 3.4 122/172] target/pscsi: Fix NULL pointer dereference in get_device_type lizf
2015-06-16  8:36 ` [PATCH 3.4 123/172] writeback: add missing INITIAL_JIFFIES init in global_update_bandwidth() lizf
2015-06-16  8:36 ` [PATCH 3.4 124/172] nbd: fix possible memory leak lizf
2015-06-16  8:36 ` [PATCH 3.4 125/172] net: ethernet: pcnet32: Setup the SRAM and NOUFLO on Am79C97{3, 5} lizf
2015-06-16  8:36 ` [PATCH 3.4 126/172] perf: Fix irq_work 'tail' recursion lizf
2015-06-16  8:36 ` [PATCH 3.4 127/172] sched: Fix RLIMIT_RTTIME when PI-boosting to RT lizf
2015-06-16  8:36 ` [PATCH 3.4 128/172] writeback: fix possible underflow in write bandwidth calculation lizf
2015-06-16  8:36 ` [PATCH 3.4 129/172] selinux: fix sel_write_enforce broken return value lizf
2015-06-16  8:36 ` [PATCH 3.4 130/172] hfsplus: fix B-tree corruption after insertion at position 0 lizf
2015-06-16  8:36 ` [PATCH 3.4 131/172] ALSA: hda - Add one more node in the EAPD supporting candidate list lizf
2015-06-16  8:36 ` [PATCH 3.4 132/172] USB: ftdi_sio: Added custom PID for Synapse Wireless product lizf
2015-06-16  8:36 ` [PATCH 3.4 133/172] cifs: fix use-after-free bug in find_writable_file lizf
2015-06-16  8:36 ` [PATCH 3.4 134/172] usb: xhci: handle Config Error Change (CEC) in xhci driver lizf
2015-06-16  8:36 ` [PATCH 3.4 135/172] usb: xhci: apply XHCI_AVOID_BEI quirk to all Intel xHCI controllers lizf
2015-06-16  8:36 ` [PATCH 3.4 136/172] net: use for_each_netdev_safe() in rtnl_group_changelink() lizf
2015-06-16  8:36 ` [PATCH 3.4 137/172] USB: ftdi_sio: Use jtag quirk for SNAP Connect E10 lizf
2015-06-16  8:36 ` [PATCH 3.4 138/172] radeon: Do not directly dereference pointers to BIOS area lizf
2015-06-16  8:36 ` [PATCH 3.4 139/172] x86/reboot: Add ASRock Q1900DC-ITX mainboard reboot quirk lizf
2015-06-16  8:36 ` [PATCH 3.4 140/172] mac80211: fix RX A-MPDU session reorder timer deletion lizf
2015-06-16  8:36 ` [PATCH 3.4 141/172] IB/uverbs: Prevent integer overflow in ib_umem_get address arithmetic lizf
2015-06-16  8:36 ` [PATCH 3.4 142/172] be2iscsi: Fix kernel panic when device initialization fails lizf
2015-06-16  8:36 ` [PATCH 3.4 143/172] Defer processing of REQ_PREEMPT requests for blocked devices lizf
2015-06-16  8:36 ` [PATCH 3.4 144/172] ocfs2: _really_ sync the right range lizf
2015-06-16  8:36 ` [PATCH 3.4 145/172] ALSA: usb - Creative USB X-Fi Pro SB1095 volume knob support lizf
2015-06-16  8:36 ` [PATCH 3.4 146/172] x86/reboot: Fix a warning message triggered by stop_other_cpus() lizf
2015-06-16  8:36 ` [PATCH 3.4 147/172] softirq: reduce latencies lizf
2015-06-16  8:36 ` [PATCH 3.4 148/172] Fix lockup related to stop_machine being stuck in __do_softirq lizf
2015-06-16  8:36 ` [PATCH 3.4 149/172] splice: Apply generic position and size checks to each write lizf
2015-06-16  8:36 ` [PATCH 3.4 150/172] powerpc/mpc85xx: Add ranges to etsec2 nodes lizf
2015-06-16  8:36 ` [PATCH 3.4 151/172] sb_edac: Fix erroneous bytes->gigabytes conversion lizf
2015-06-16  8:36 ` [PATCH 3.4 152/172] spi: spidev: fix possible arithmetic overflow for multi-transfer message lizf
2015-06-16  8:36 ` [PATCH 3.4 153/172] IB/core: Avoid leakage from kernel to user space lizf
2015-06-16  8:36 ` [PATCH 3.4 154/172] hpsa: refine the pci enable/disable handling lizf
2015-06-16  8:36 ` [PATCH 3.4 155/172] hpsa: add missing pci_set_master in kdump path lizf
2015-06-16  8:36 ` [PATCH 3.4 156/172] hpsa: turn off interrupts when kdump starts lizf
2015-06-16  8:36 ` [PATCH 3.4 157/172] hpsa: fix memory leak in kdump hard reset lizf
2015-06-16  8:36 ` [PATCH 3.4 158/172] fs: take i_mutex during prepare_binprm for set[ug]id executables lizf
2015-06-16  8:36 ` [PATCH 3.4 159/172] openvswitch: Check currect return value from skb_gso_segment() lizf
2015-06-16  8:36 ` [PATCH 3.4 160/172] net: make skb_gso_segment error handling more robust lizf
2015-06-16  8:36 ` [PATCH 3.4 161/172] ipvs: uninitialized data with IP_VS_IPV6 lizf
2015-06-16  8:36 ` [PATCH 3.4 162/172] autofs4: check dev ioctl size before allocating lizf
2015-06-16  8:36 ` [PATCH 3.4 163/172] UBI: fix soft lockup in ubi_check_volume() lizf
2015-06-16  8:36 ` [PATCH 3.4 164/172] perf tools: Fix build with perl 5.18 lizf
2015-06-16  8:36 ` [PATCH 3.4 165/172] config: Enable NEED_DMA_MAP_STATE by default when SWIOTLB is selected lizf
2015-06-16  8:37 ` [PATCH 3.4 166/172] PCI: Convert pcibios_resource_to_bus() to take a pci_bus, not a pci_dev lizf
2015-06-16  8:37 ` [PATCH 3.4 167/172] don't bugger nd->seq on set_root_rcu() from follow_dotdot_rcu() lizf
2015-06-16  8:37 ` [PATCH 3.4 168/172] cdc-acm: prevent infinite loop when parsing CDC headers lizf
2015-06-16  8:37 ` [PATCH 3.4 169/172] IB/core: don't disallow registering region starting at 0x0 lizf
2015-06-16  8:37 ` [PATCH 3.4 170/172] writeback: use |1 instead of +1 to protect against div by zero lizf
2015-06-16  8:37 ` [PATCH 3.4 171/172] xen-pciback: Add name prefix to global 'permissive' variable lizf
2015-06-16  8:37 ` lizf [this message]
2015-06-16  8:49 ` [PATCH 3.4 000/172] 3.4.108-rc1 review Guenter Roeck
2015-06-18  3:16   ` Zefan Li
2015-06-16  8:58 ` lizf
2015-06-16 15:13 ` Ian Campbell
2015-06-18  3:19   ` Zefan Li
2015-06-18  8:34     ` Ian Campbell

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=1434443826-4929-172-git-send-email-lizf@kernel.org \
    --to=lizf@kernel.org \
    --cc=js1304@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=penberg@kernel.org \
    --cc=stable@vger.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;
as well as URLs for NNTP newsgroup(s).