mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Luis Henriques <luis.henriques@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
	kernel-team@lists.ubuntu.com
Cc: Gioh Kim <gioh.kim@lge.com>, "Theodore Ts'o" <tytso@mit.edu>,
	Luis Henriques <luis.henriques@canonical.com>
Subject: [PATCH 3.16.y-ckt 081/130] fs/buffer.c: support buffer cache allocations with gfp modifiers
Date: Fri,  4 Sep 2015 14:07:49 +0100	[thread overview]
Message-ID: <1441372118-5933-82-git-send-email-luis.henriques@canonical.com> (raw)
In-Reply-To: <1441372118-5933-1-git-send-email-luis.henriques@canonical.com>

3.16.7-ckt17 -stable review patch.  If anyone has any objections, please let me know.

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

From: Gioh Kim <gioh.kim@lge.com>

commit 3b5e6454aaf6b4439b19400d8365e2ec2d24e411 upstream.

A buffer cache is allocated from movable area because it is referred
for a while and released soon.  But some filesystems are taking buffer
cache for a long time and it can disturb page migration.

New APIs are introduced to allocate buffer cache with user specific
flag.  *_gfp APIs are for user want to set page allocation flag for
page cache allocation.  And *_unmovable APIs are for the user wants to
allocate page cache from non-movable area.

Signed-off-by: Gioh Kim <gioh.kim@lge.com>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Reviewed-by: Jan Kara <jack@suse.cz>
[ luis: 3.16 prereq for:
  bd7ade3cd9b0 "bufferhead: Add _gfp version for sb_getblk()" ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
---
 fs/buffer.c                 | 45 +++++++++++++++++++++++++------------------
 include/linux/buffer_head.h | 47 ++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 68 insertions(+), 24 deletions(-)

diff --git a/fs/buffer.c b/fs/buffer.c
index 4752094053f9..cdd0320e8f84 100644
--- a/fs/buffer.c
+++ b/fs/buffer.c
@@ -1000,7 +1000,7 @@ init_page_buffers(struct page *page, struct block_device *bdev,
  */
 static int
 grow_dev_page(struct block_device *bdev, sector_t block,
-		pgoff_t index, int size, int sizebits)
+	      pgoff_t index, int size, int sizebits, gfp_t gfp)
 {
 	struct inode *inode = bdev->bd_inode;
 	struct page *page;
@@ -1009,8 +1009,8 @@ grow_dev_page(struct block_device *bdev, sector_t block,
 	int ret = 0;		/* Will call free_more_memory() */
 	gfp_t gfp_mask;
 
-	gfp_mask = mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS;
-	gfp_mask |= __GFP_MOVABLE;
+	gfp_mask = (mapping_gfp_mask(inode->i_mapping) & ~__GFP_FS) | gfp;
+
 	/*
 	 * XXX: __getblk_slow() can not really deal with failure and
 	 * will endlessly loop on improvised global reclaim.  Prefer
@@ -1067,7 +1067,7 @@ failed:
  * that page was dirty, the buffers are set dirty also.
  */
 static int
-grow_buffers(struct block_device *bdev, sector_t block, int size)
+grow_buffers(struct block_device *bdev, sector_t block, int size, gfp_t gfp)
 {
 	pgoff_t index;
 	int sizebits;
@@ -1094,11 +1094,12 @@ grow_buffers(struct block_device *bdev, sector_t block, int size)
 	}
 
 	/* Create a page with the proper size buffers.. */
-	return grow_dev_page(bdev, block, index, size, sizebits);
+	return grow_dev_page(bdev, block, index, size, sizebits, gfp);
 }
 
-static struct buffer_head *
-__getblk_slow(struct block_device *bdev, sector_t block, int size)
+struct buffer_head *
+__getblk_slow(struct block_device *bdev, sector_t block,
+	     unsigned size, gfp_t gfp)
 {
 	/* Size must be multiple of hard sectorsize */
 	if (unlikely(size & (bdev_logical_block_size(bdev)-1) ||
@@ -1120,13 +1121,14 @@ __getblk_slow(struct block_device *bdev, sector_t block, int size)
 		if (bh)
 			return bh;
 
-		ret = grow_buffers(bdev, block, size);
+		ret = grow_buffers(bdev, block, size, gfp);
 		if (ret < 0)
 			return NULL;
 		if (ret == 0)
 			free_more_memory();
 	}
 }
+EXPORT_SYMBOL(__getblk_slow);
 
 /*
  * The relationship between dirty buffers and dirty pages:
@@ -1380,24 +1382,25 @@ __find_get_block(struct block_device *bdev, sector_t block, unsigned size)
 EXPORT_SYMBOL(__find_get_block);
 
 /*
- * __getblk will locate (and, if necessary, create) the buffer_head
+ * __getblk_gfp() will locate (and, if necessary, create) the buffer_head
  * which corresponds to the passed block_device, block and size. The
  * returned buffer has its reference count incremented.
  *
- * __getblk() will lock up the machine if grow_dev_page's try_to_free_buffers()
- * attempt is failing.  FIXME, perhaps?
+ * __getblk_gfp() will lock up the machine if grow_dev_page's
+ * try_to_free_buffers() attempt is failing.  FIXME, perhaps?
  */
 struct buffer_head *
-__getblk(struct block_device *bdev, sector_t block, unsigned size)
+__getblk_gfp(struct block_device *bdev, sector_t block,
+	     unsigned size, gfp_t gfp)
 {
 	struct buffer_head *bh = __find_get_block(bdev, block, size);
 
 	might_sleep();
 	if (bh == NULL)
-		bh = __getblk_slow(bdev, block, size);
+		bh = __getblk_slow(bdev, block, size, gfp);
 	return bh;
 }
-EXPORT_SYMBOL(__getblk);
+EXPORT_SYMBOL(__getblk_gfp);
 
 /*
  * Do async read-ahead on a buffer..
@@ -1413,24 +1416,28 @@ void __breadahead(struct block_device *bdev, sector_t block, unsigned size)
 EXPORT_SYMBOL(__breadahead);
 
 /**
- *  __bread() - reads a specified block and returns the bh
+ *  __bread_gfp() - reads a specified block and returns the bh
  *  @bdev: the block_device to read from
  *  @block: number of block
  *  @size: size (in bytes) to read
- * 
+ *  @gfp: page allocation flag
+ *
  *  Reads a specified block, and returns buffer head that contains it.
+ *  The page cache can be allocated from non-movable area
+ *  not to prevent page migration if you set gfp to zero.
  *  It returns NULL if the block was unreadable.
  */
 struct buffer_head *
-__bread(struct block_device *bdev, sector_t block, unsigned size)
+__bread_gfp(struct block_device *bdev, sector_t block,
+		   unsigned size, gfp_t gfp)
 {
-	struct buffer_head *bh = __getblk(bdev, block, size);
+	struct buffer_head *bh = __getblk_gfp(bdev, block, size, gfp);
 
 	if (likely(bh) && !buffer_uptodate(bh))
 		bh = __bread_slow(bh);
 	return bh;
 }
-EXPORT_SYMBOL(__bread);
+EXPORT_SYMBOL(__bread_gfp);
 
 /*
  * invalidate_bh_lrus() is called rarely - but not only at unmount.
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 324329ceea1e..73b45225a7ca 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -175,12 +175,13 @@ void __wait_on_buffer(struct buffer_head *);
 wait_queue_head_t *bh_waitq_head(struct buffer_head *bh);
 struct buffer_head *__find_get_block(struct block_device *bdev, sector_t block,
 			unsigned size);
-struct buffer_head *__getblk(struct block_device *bdev, sector_t block,
-			unsigned size);
+struct buffer_head *__getblk_gfp(struct block_device *bdev, sector_t block,
+				  unsigned size, gfp_t gfp);
 void __brelse(struct buffer_head *);
 void __bforget(struct buffer_head *);
 void __breadahead(struct block_device *, sector_t block, unsigned int size);
-struct buffer_head *__bread(struct block_device *, sector_t block, unsigned size);
+struct buffer_head *__bread_gfp(struct block_device *,
+				sector_t block, unsigned size, gfp_t gfp);
 void invalidate_bh_lrus(void);
 struct buffer_head *alloc_buffer_head(gfp_t gfp_flags);
 void free_buffer_head(struct buffer_head * bh);
@@ -295,7 +296,13 @@ static inline void bforget(struct buffer_head *bh)
 static inline struct buffer_head *
 sb_bread(struct super_block *sb, sector_t block)
 {
-	return __bread(sb->s_bdev, block, sb->s_blocksize);
+	return __bread_gfp(sb->s_bdev, block, sb->s_blocksize, __GFP_MOVABLE);
+}
+
+static inline struct buffer_head *
+sb_bread_unmovable(struct super_block *sb, sector_t block)
+{
+	return __bread_gfp(sb->s_bdev, block, sb->s_blocksize, 0);
 }
 
 static inline void
@@ -307,7 +314,7 @@ sb_breadahead(struct super_block *sb, sector_t block)
 static inline struct buffer_head *
 sb_getblk(struct super_block *sb, sector_t block)
 {
-	return __getblk(sb->s_bdev, block, sb->s_blocksize);
+	return __getblk_gfp(sb->s_bdev, block, sb->s_blocksize, __GFP_MOVABLE);
 }
 
 static inline struct buffer_head *
@@ -344,6 +351,36 @@ static inline void lock_buffer(struct buffer_head *bh)
 		__lock_buffer(bh);
 }
 
+static inline struct buffer_head *getblk_unmovable(struct block_device *bdev,
+						   sector_t block,
+						   unsigned size)
+{
+	return __getblk_gfp(bdev, block, size, 0);
+}
+
+static inline struct buffer_head *__getblk(struct block_device *bdev,
+					   sector_t block,
+					   unsigned size)
+{
+	return __getblk_gfp(bdev, block, size, __GFP_MOVABLE);
+}
+
+/**
+ *  __bread() - reads a specified block and returns the bh
+ *  @bdev: the block_device to read from
+ *  @block: number of block
+ *  @size: size (in bytes) to read
+ *
+ *  Reads a specified block, and returns buffer head that contains it.
+ *  The page cache is allocated from movable area so that it can be migrated.
+ *  It returns NULL if the block was unreadable.
+ */
+static inline struct buffer_head *
+__bread(struct block_device *bdev, sector_t block, unsigned size)
+{
+	return __bread_gfp(bdev, block, size, __GFP_MOVABLE);
+}
+
 extern int __set_page_dirty_buffers(struct page *page);
 
 #else /* CONFIG_BLOCK */

  parent reply	other threads:[~2015-09-04 13:32 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-04 13:06 [3.16.y-ckt stable] Linux 3.16.7-ckt17 stable review Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 001/130] md: use kzalloc() when bitmap is disabled Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 002/130] sparc64: Fix userspace FPU register corruptions Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 003/130] sysfs: Create mountpoints with sysfs_create_mount_point Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 004/130] ARM: OMAP2+: hwmod: Fix _wait_target_ready() for hwmods without sysc Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 005/130] ASoC: pcm1681: Fix setting de-emphasis sampling rate selection Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 006/130] iscsi-target: Fix use-after-free during TPG session shutdown Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 007/130] iscsi-target: Fix iscsit_start_kthreads failure OOPs Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 008/130] iscsi-target: Fix iser explicit logout TX kthread leak Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 009/130] ARM: dts: i.MX35: Fix can support Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 010/130] ALSA: hda - Apply fixup for another Toshiba Satellite S50D Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 011/130] vhost: actually track log eventfd file Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 012/130] arm64/efi: map the entire UEFI vendor string before reading it Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 013/130] xfs: remote attribute headers contain an invalid LSN Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 014/130] xfs: remote attributes need to be considered data Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 015/130] ALSA: hda - Apply a fixup to Dell Vostro 5480 Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 016/130] ALSA: usb-audio: add dB range mapping for some devices Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 017/130] drm/i915: Replace WARN inside I915_READ64_2x32 with retry loop Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 018/130] drm/radeon/combios: add some validation of lvds values Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 019/130] x86/efi: Use all 64 bit of efi_memmap in setup_e820() Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 020/130] ipr: Fix locking for unit attention handling Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 021/130] ipr: Fix incorrect trace indexing Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 022/130] ipr: Fix invalid array indexing for HRRQ Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 023/130] ALSA: hda - Fix MacBook Pro 5,2 quirk Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 024/130] x86/xen: Probe target addresses in set_aliased_prot() before the hypercall Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 025/130] netfilter: ctnetlink: put back references to master ct and expect objects Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 026/130] ipvs: do not use random local source address for tunnels Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 027/130] ipvs: fix crash if scheduler is changed Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 028/130] ipvs: fix crash with sync protocol v0 and FTP Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 029/130] netfilter: nf_conntrack: Support expectations in different zones Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 030/130] NFS: Don't revalidate the mapping if both size and change attr are up to date Luis Henriques
2015-09-04 13:06 ` [PATCH 3.16.y-ckt 031/130] ALSA: hda - fix cs4210_spdif_automute() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 032/130] net/mlx4_core: Fix wrong index in propagating port change event to VFs Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 033/130] niu: don't count tx error twice in case of headroom realloc fails Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 034/130] avr32: handle NULL as a valid clock object Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 035/130] packet: missing dev_put() in packet_do_bind() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 036/130] packet: tpacket_snd(): fix signed/unsigned comparison Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 037/130] bridge: mdb: fix delmdb state in the notification Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 038/130] net: sched: fix refcount imbalance in actions Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 039/130] act_pedit: check binding before calling tcf_hash_release() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 040/130] PCI: Restore PCI_MSIX_FLAGS_BIRMASK definition Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 041/130] USB: qcserial/option: make AT URCs work for Sierra Wireless MC7305/MC7355 Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 042/130] USB: qcserial: Add support for Dell Wireless 5809e 4G Modem Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 043/130] nfsd: Drop BUG_ON and ignore SECLABEL on absent filesystem Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 044/130] crypto: ixp4xx - Remove bogus BUG_ON on scattered dst buffer Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 045/130] USB: sierra: add 1199:68AB device ID Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 046/130] rbd: fix copyup completion race Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 047/130] md/bitmap: return an error when bitmap superblock is corrupt Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 048/130] md/raid1: extend spinlock to protect raid1_end_read_request against inconsistencies Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 049/130] thermal: exynos: Disable the regulator on probe failure Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 050/130] MIPS: Fix sched_getaffinity with MT FPAFF enabled Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 051/130] MIPS: Malta: Don't reinitialise RTC Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 052/130] MIPS: do_mcheck: Fix kernel code dump with EVA Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 053/130] MIPS: show_stack: Fix stack trace " Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 054/130] MIPS: Flush RPS on kernel entry " Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 055/130] xhci: fix off by one error in TRB DMA address boundary check Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 056/130] drivers/usb: Delete XHCI command timer if necessary Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 057/130] ALSA: fireworks/firewire-lib: add support for recent firmware quirk Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 058/130] mm, vmscan: Do not wait for page writeback for GFP_NOFS allocations Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 059/130] MIPS: Make set_pte() SMP safe Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 060/130] ipc: modify message queue accounting to not take kernel data structures into account Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 061/130] ocfs2: fix BUG in ocfs2_downconvert_thread_do_work() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 062/130] fsnotify: fix oops in fsnotify_clear_marks_by_group_flags() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 063/130] drm/radeon: fix hotplug race at startup Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 064/130] rtnetlink: verify IFLA_VF_INFO attributes before passing them to driver Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 065/130] net/tipc: initialize security state for new connection socket Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 066/130] net: pktgen: fix race between pktgen_thread_worker() and kthread_stop() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 067/130] net: call rcu_read_lock early in process_backlog Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 068/130] net: Clone skb before setting peeked flag Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 069/130] net: Fix skb csum races when peeking Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 070/130] net: Fix skb_set_peeked use-after-free bug Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 071/130] ipv6: lock socket in ip6_datagram_connect() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 072/130] bonding: correct the MAC address for "follow" fail_over_mac policy Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 073/130] netlink: don't hold mutex in rcu callback when releasing mmapd ring Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 074/130] rds: fix an integer overflow test in rds_info_getsockopt() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 075/130] udp: fix dst races with multicast early demux Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 076/130] bna: fix interrupts storm caused by erroneous packets Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 077/130] net: gso: use feature flag argument in all protocol gso handlers Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 078/130] Fix firmware loader uevent buffer NULL pointer dereference Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 079/130] qla2xxx: Mark port lost when we receive an RSCN for it Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 080/130] megaraid_sas: use raw_smp_processor_id() Luis Henriques
2015-09-04 13:07 ` Luis Henriques [this message]
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 082/130] bufferhead: Add _gfp version for sb_getblk() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 083/130] ext4: avoid deadlocks in the writeback path by using sb_getblk_gfp Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 084/130] HID: usbhid: add Chicony/Pixart usb optical mouse that needs QUIRK_ALWAYS_POLL Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 085/130] ima: add support for new "euid" policy condition Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 086/130] ima: extend "mask" policy matching support Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 087/130] mfd: arizona: Fix initialisation of the PM runtime Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 088/130] xen-blkfront: don't add indirect pages to list when !feature_persistent Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 089/130] xen-blkback: replace work_pending with work_busy in purge_persistent_gnt() Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 090/130] regmap: regcache-rbtree: Clean new present bits on present bitmap resize Luis Henriques
2015-09-04 13:07 ` [PATCH 3.16.y-ckt 091/130] target/iscsi: Fix double free of a TUR followed by a solicited NOPOUT Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 092/130] target: REPORT LUNS should return LUN 0 even for dynamic ACLs Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 093/130] perf: Fix fasync handling on inherited events Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 094/130] KVM: x86: Use adjustment in guest cycles when handling MSR_IA32_TSC_ADJUST Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 095/130] x86/ldt: Make modify_ldt synchronous Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 096/130] x86/ldt: Correct LDT access in single stepping logic Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 097/130] rcu: Provide counterpart to rcu_dereference() for non-RCU situations Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 098/130] rcu: Move lockless_dereference() out of rcupdate.h Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 099/130] x86/ldt: Correct FPU emulation access to LDT Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 100/130] localmodconfig: Use Kbuild files too Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 101/130] dm thin metadata: delete btrees when releasing metadata snapshot Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 102/130] dm btree: add ref counting ops for the leaves of top level btrees Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 103/130] drm/radeon: add new OLAND pci id Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 104/130] libiscsi: Fix host busy blocking during connection teardown Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 105/130] libfc: Fix fc_exch_recv_req() error path Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 106/130] libfc: Fix fc_fcp_cleanup_each_cmd() Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 107/130] EDAC, ppc4xx: Access mci->csrows array elements properly Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 108/130] crypto: caam - fix memory corruption in ahash_final_ctx Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 109/130] drm/vmwgfx: Fix execbuf locking issues Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 110/130] mm/hwpoison: fix page refcount of unknown non LRU page Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 111/130] ipc,sem: fix use after free on IPC_RMID after a task using same semaphore set exits Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 112/130] ipc/sem.c: change memory barrier in sem_lock() to smp_rmb() Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 113/130] ipc/sem.c: update/correct memory barriers Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 114/130] MIPS: Fix seccomp syscall argument for MIPS64 Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 115/130] x86/ldt: Further fix FPU emulation Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 116/130] SCSI: Fix NULL pointer dereference in runtime PM Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 117/130] ALSA: usb-audio: Fix runtime PM unbalance Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 118/130] Add factory recertified Crucial M500s to blacklist Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 119/130] arm64: KVM: Fix host crash when injecting a fault into a 32bit guest Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 120/130] batman-adv: fix kernel crash due to missing NULL checks Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 121/130] batman-adv: protect tt_local_entry from concurrent delete events Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 122/130] perf: Fix PERF_EVENT_IOC_PERIOD migration race Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 123/130] net: Fix RCU splat in af_key Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 124/130] ip6_gre: release cached dst on tunnel removal Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 125/130] s390/sclp: fix compile error Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 126/130] xen/gntdev: convert priv->lock to a mutex Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 127/130] xen/gntdevt: Fix race condition in gntdev_release() Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 128/130] signalfd: fix information leak in signalfd_copyinfo Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 129/130] signal: fix information leak in copy_siginfo_to_user Luis Henriques
2015-09-04 13:08 ` [PATCH 3.16.y-ckt 130/130] signal: fix information leak in copy_siginfo_from_user32 Luis Henriques

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=1441372118-5933-82-git-send-email-luis.henriques@canonical.com \
    --to=luis.henriques@canonical.com \
    --cc=gioh.kim@lge.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.edu \
    /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

all inboxes | Powered by JetHome®