From: Kamal Mostafa <kamal@canonical.com>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org,
kernel-team@lists.ubuntu.com
Cc: Vlastimil Babka <vbabka@suse.cz>,
Zhang Yanfei <zhangyanfei@cn.fujitsu.com>,
David Rientjes <rientjes@google.com>,
Rik van Riel <riel@redhat.com>,
"Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>,
"Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Johannes Weiner <hannes@cmpxchg.org>,
Joonsoo Kim <iamjoonsoo.kim@lge.com>,
Michal Hocko <mhocko@suse.cz>,
KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Kamal Mostafa <kamal@canonical.com>
Subject: [PATCH 3.13.y-ckt 089/143] mm: when stealing freepages, also take pages created by splitting buddy page
Date: Tue, 31 Mar 2015 12:47:34 -0700 [thread overview]
Message-ID: <1427831308-1854-90-git-send-email-kamal@canonical.com> (raw)
In-Reply-To: <1427831308-1854-1-git-send-email-kamal@canonical.com>
3.13.11-ckt18 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Vlastimil Babka <vbabka@suse.cz>
commit 99592d598eca62bdbbf62b59941c189176dfc614 upstream.
When studying page stealing, I noticed some weird looking decisions in
try_to_steal_freepages(). The first I assume is a bug (Patch 1), the
following two patches were driven by evaluation.
Testing was done with stress-highalloc of mmtests, using the
mm_page_alloc_extfrag tracepoint and postprocessing to get counts of how
often page stealing occurs for individual migratetypes, and what
migratetypes are used for fallbacks. Arguably, the worst case of page
stealing is when UNMOVABLE allocation steals from MOVABLE pageblock.
RECLAIMABLE allocation stealing from MOVABLE allocation is also not ideal,
so the goal is to minimize these two cases.
The evaluation of v2 wasn't always clear win and Joonsoo questioned the
results. Here I used different baseline which includes RFC compaction
improvements from [1]. I found that the compaction improvements reduce
variability of stress-highalloc, so there's less noise in the data.
First, let's look at stress-highalloc configured to do sync compaction,
and how these patches reduce page stealing events during the test. First
column is after fresh reboot, other two are reiterations of test without
reboot. That was all accumulater over 5 re-iterations (so the benchmark
was run 5x3 times with 5 fresh restarts).
Baseline:
3.19-rc4 3.19-rc4 3.19-rc4
5-nothp-1 5-nothp-2 5-nothp-3
Page alloc extfrag event 10264225 8702233 10244125
Extfrag fragmenting 10263271 8701552 10243473
Extfrag fragmenting for unmovable 13595 17616 15960
Extfrag fragmenting unmovable placed with movable 7989 12193 8447
Extfrag fragmenting for reclaimable 658 1840 1817
Extfrag fragmenting reclaimable placed with movable 558 1677 1679
Extfrag fragmenting for movable 10249018 8682096 10225696
With Patch 1:
3.19-rc4 3.19-rc4 3.19-rc4
6-nothp-1 6-nothp-2 6-nothp-3
Page alloc extfrag event 11834954 9877523 9774860
Extfrag fragmenting 11833993 9876880 9774245
Extfrag fragmenting for unmovable 7342 16129 11712
Extfrag fragmenting unmovable placed with movable 4191 10547 6270
Extfrag fragmenting for reclaimable 373 1130 923
Extfrag fragmenting reclaimable placed with movable 302 906 738
Extfrag fragmenting for movable 11826278 9859621 9761610
With Patch 2:
3.19-rc4 3.19-rc4 3.19-rc4
7-nothp-1 7-nothp-2 7-nothp-3
Page alloc extfrag event 4725990 3668793 3807436
Extfrag fragmenting 4725104 3668252 3806898
Extfrag fragmenting for unmovable 6678 7974 7281
Extfrag fragmenting unmovable placed with movable 2051 3829 4017
Extfrag fragmenting for reclaimable 429 1208 1278
Extfrag fragmenting reclaimable placed with movable 369 976 1034
Extfrag fragmenting for movable 4717997 3659070 3798339
With Patch 3:
3.19-rc4 3.19-rc4 3.19-rc4
8-nothp-1 8-nothp-2 8-nothp-3
Page alloc extfrag event 5016183 4700142 3850633
Extfrag fragmenting 5015325 4699613 3850072
Extfrag fragmenting for unmovable 1312 3154 3088
Extfrag fragmenting unmovable placed with movable 1115 2777 2714
Extfrag fragmenting for reclaimable 437 1193 1097
Extfrag fragmenting reclaimable placed with movable 330 969 879
Extfrag fragmenting for movable 5013576 4695266 3845887
In v2 we've seen apparent regression with Patch 1 for unmovable events,
this is now gone, suggesting it was indeed noise. Here, each patch
improves the situation for unmovable events. Reclaimable is improved by
patch 1 and then either the same modulo noise, or perhaps sligtly worse -
a small price for unmovable improvements, IMHO. The number of movable
allocations falling back to other migratetypes is most noisy, but it's
reduced to half at Patch 2 nevertheless. These are least critical as
compaction can move them around.
If we look at success rates, the patches don't affect them, that didn't change.
Baseline:
3.19-rc4 3.19-rc4 3.19-rc4
5-nothp-1 5-nothp-2 5-nothp-3
Success 1 Min 49.00 ( 0.00%) 42.00 ( 14.29%) 41.00 ( 16.33%)
Success 1 Mean 51.00 ( 0.00%) 45.00 ( 11.76%) 42.60 ( 16.47%)
Success 1 Max 55.00 ( 0.00%) 51.00 ( 7.27%) 46.00 ( 16.36%)
Success 2 Min 53.00 ( 0.00%) 47.00 ( 11.32%) 44.00 ( 16.98%)
Success 2 Mean 59.60 ( 0.00%) 50.80 ( 14.77%) 48.20 ( 19.13%)
Success 2 Max 64.00 ( 0.00%) 56.00 ( 12.50%) 52.00 ( 18.75%)
Success 3 Min 84.00 ( 0.00%) 82.00 ( 2.38%) 78.00 ( 7.14%)
Success 3 Mean 85.60 ( 0.00%) 82.80 ( 3.27%) 79.40 ( 7.24%)
Success 3 Max 86.00 ( 0.00%) 83.00 ( 3.49%) 80.00 ( 6.98%)
Patch 1:
3.19-rc4 3.19-rc4 3.19-rc4
6-nothp-1 6-nothp-2 6-nothp-3
Success 1 Min 49.00 ( 0.00%) 44.00 ( 10.20%) 44.00 ( 10.20%)
Success 1 Mean 51.80 ( 0.00%) 46.00 ( 11.20%) 45.80 ( 11.58%)
Success 1 Max 54.00 ( 0.00%) 49.00 ( 9.26%) 49.00 ( 9.26%)
Success 2 Min 58.00 ( 0.00%) 49.00 ( 15.52%) 48.00 ( 17.24%)
Success 2 Mean 60.40 ( 0.00%) 51.80 ( 14.24%) 50.80 ( 15.89%)
Success 2 Max 63.00 ( 0.00%) 54.00 ( 14.29%) 55.00 ( 12.70%)
Success 3 Min 84.00 ( 0.00%) 81.00 ( 3.57%) 79.00 ( 5.95%)
Success 3 Mean 85.00 ( 0.00%) 81.60 ( 4.00%) 79.80 ( 6.12%)
Success 3 Max 86.00 ( 0.00%) 82.00 ( 4.65%) 82.00 ( 4.65%)
Patch 2:
3.19-rc4 3.19-rc4 3.19-rc4
7-nothp-1 7-nothp-2 7-nothp-3
Success 1 Min 50.00 ( 0.00%) 44.00 ( 12.00%) 39.00 ( 22.00%)
Success 1 Mean 52.80 ( 0.00%) 45.60 ( 13.64%) 42.40 ( 19.70%)
Success 1 Max 55.00 ( 0.00%) 46.00 ( 16.36%) 47.00 ( 14.55%)
Success 2 Min 52.00 ( 0.00%) 48.00 ( 7.69%) 45.00 ( 13.46%)
Success 2 Mean 53.40 ( 0.00%) 49.80 ( 6.74%) 48.80 ( 8.61%)
Success 2 Max 57.00 ( 0.00%) 52.00 ( 8.77%) 52.00 ( 8.77%)
Success 3 Min 84.00 ( 0.00%) 81.00 ( 3.57%) 79.00 ( 5.95%)
Success 3 Mean 85.00 ( 0.00%) 82.40 ( 3.06%) 79.60 ( 6.35%)
Success 3 Max 86.00 ( 0.00%) 83.00 ( 3.49%) 80.00 ( 6.98%)
Patch 3:
3.19-rc4 3.19-rc4 3.19-rc4
8-nothp-1 8-nothp-2 8-nothp-3
Success 1 Min 46.00 ( 0.00%) 44.00 ( 4.35%) 42.00 ( 8.70%)
Success 1 Mean 50.20 ( 0.00%) 45.60 ( 9.16%) 44.00 ( 12.35%)
Success 1 Max 52.00 ( 0.00%) 47.00 ( 9.62%) 47.00 ( 9.62%)
Success 2 Min 53.00 ( 0.00%) 49.00 ( 7.55%) 48.00 ( 9.43%)
Success 2 Mean 55.80 ( 0.00%) 50.60 ( 9.32%) 49.00 ( 12.19%)
Success 2 Max 59.00 ( 0.00%) 52.00 ( 11.86%) 51.00 ( 13.56%)
Success 3 Min 84.00 ( 0.00%) 80.00 ( 4.76%) 79.00 ( 5.95%)
Success 3 Mean 85.40 ( 0.00%) 81.60 ( 4.45%) 80.40 ( 5.85%)
Success 3 Max 87.00 ( 0.00%) 83.00 ( 4.60%) 82.00 ( 5.75%)
While there's no improvement here, I consider reduced fragmentation events
to be worth on its own. Patch 2 also seems to reduce scanning for free
pages, and migrations in compaction, suggesting it has somewhat less work
to do:
Patch 1:
Compaction stalls 4153 3959 3978
Compaction success 1523 1441 1446
Compaction failures 2630 2517 2531
Page migrate success 4600827 4943120 5104348
Page migrate failure 19763 16656 17806
Compaction pages isolated 9597640 10305617 10653541
Compaction migrate scanned 77828948 86533283 87137064
Compaction free scanned 517758295 521312840 521462251
Compaction cost 5503 5932 6110
Patch 2:
Compaction stalls 3800 3450 3518
Compaction success 1421 1316 1317
Compaction failures 2379 2134 2201
Page migrate success 4160421 4502708 4752148
Page migrate failure 19705 14340 14911
Compaction pages isolated 8731983 9382374 9910043
Compaction migrate scanned 98362797 96349194 98609686
Compaction free scanned 496512560 469502017 480442545
Compaction cost 5173 5526 5811
As with v2, /proc/pagetypeinfo appears unaffected with respect to numbers
of unmovable and reclaimable pageblocks.
Configuring the benchmark to allocate like THP page fault (i.e. no sync
compaction) gives much noisier results for iterations 2 and 3 after
reboot. This is not so surprising given how [1] offers lower improvements
in this scenario due to less restarts after deferred compaction which
would change compaction pivot.
Baseline:
3.19-rc4 3.19-rc4 3.19-rc4
5-thp-1 5-thp-2 5-thp-3
Page alloc extfrag event 8148965 6227815 6646741
Extfrag fragmenting 8147872 6227130 6646117
Extfrag fragmenting for unmovable 10324 12942 15975
Extfrag fragmenting unmovable placed with movable 5972 8495 10907
Extfrag fragmenting for reclaimable 601 1707 2210
Extfrag fragmenting reclaimable placed with movable 520 1570 2000
Extfrag fragmenting for movable 8136947 6212481 6627932
Patch 1:
3.19-rc4 3.19-rc4 3.19-rc4
6-thp-1 6-thp-2 6-thp-3
Page alloc extfrag event 8345457 7574471 7020419
Extfrag fragmenting 8343546 7573777 7019718
Extfrag fragmenting for unmovable 10256 18535 30716
Extfrag fragmenting unmovable placed with movable 6893 11726 22181
Extfrag fragmenting for reclaimable 465 1208 1023
Extfrag fragmenting reclaimable placed with movable 353 996 843
Extfrag fragmenting for movable 8332825 7554034 6987979
Patch 2:
3.19-rc4 3.19-rc4 3.19-rc4
7-thp-1 7-thp-2 7-thp-3
Page alloc extfrag event 3512847 3020756 2891625
Extfrag fragmenting 3511940 3020185 2891059
Extfrag fragmenting for unmovable 9017 6892 6191
Extfrag fragmenting unmovable placed with movable 1524 3053 2435
Extfrag fragmenting for reclaimable 445 1081 1160
Extfrag fragmenting reclaimable placed with movable 375 918 986
Extfrag fragmenting for movable 3502478 3012212 2883708
Patch 3:
3.19-rc4 3.19-rc4 3.19-rc4
8-thp-1 8-thp-2 8-thp-3
Page alloc extfrag event 3181699 3082881 2674164
Extfrag fragmenting 3180812 3082303 2673611
Extfrag fragmenting for unmovable 1201 4031 4040
Extfrag fragmenting unmovable placed with movable 974 3611 3645
Extfrag fragmenting for reclaimable 478 1165 1294
Extfrag fragmenting reclaimable placed with movable 387 985 1030
Extfrag fragmenting for movable 3179133 3077107 2668277
The improvements for first iteration are clear, the rest is much noisier
and can appear like regression for Patch 1. Anyway, patch 2 rectifies it.
Allocation success rates are again unaffected so there's no point in
making this e-mail any longer.
[1] http://marc.info/?l=linux-mm&m=142166196321125&w=2
This patch (of 3):
When __rmqueue_fallback() is called to allocate a page of order X, it will
find a page of order Y >= X of a fallback migratetype, which is different
from the desired migratetype. With the help of try_to_steal_freepages(),
it may change the migratetype (to the desired one) also of:
1) all currently free pages in the pageblock containing the fallback page
2) the fallback pageblock itself
3) buddy pages created by splitting the fallback page (when Y > X)
These decisions take the order Y into account, as well as the desired
migratetype, with the goal of preventing multiple fallback allocations
that could e.g. distribute UNMOVABLE allocations among multiple
pageblocks.
Originally, decision for 1) has implied the decision for 3). Commit
47118af076f6 ("mm: mmzone: MIGRATE_CMA migration type added") changed that
(probably unintentionally) so that the buddy pages in case 3) are always
changed to the desired migratetype, except for CMA pageblocks.
Commit fef903efcf0c ("mm/page_allo.c: restructure free-page stealing code
and fix a bug") did some refactoring and added a comment that the case of
3) is intended. Commit 0cbef29a7821 ("mm: __rmqueue_fallback() should
respect pageblock type") removed the comment and tried to restore the
original behavior where 1) implies 3), but due to the previous
refactoring, the result is instead that only 2) implies 3) - and the
conditions for 2) are less frequently met than conditions for 1). This
may increase fragmentation in situations where the code decides to steal
all free pages from the pageblock (case 1)), but then gives back the buddy
pages produced by splitting.
This patch restores the original intended logic where 1) implies 3).
During testing with stress-highalloc from mmtests, this has shown to
decrease the number of events where UNMOVABLE and RECLAIMABLE allocations
steal from MOVABLE pageblocks, which can lead to permanent fragmentation.
In some cases it has increased the number of events when MOVABLE
allocations steal from UNMOVABLE or RECLAIMABLE pageblocks, but these are
fixable by sync compaction and thus less harmful.
Note that evaluation has shown that the behavior introduced by
47118af076f6 for buddy pages in case 3) is actually even better than the
original logic, so the following patch will introduce it properly once
again. For stable backports of this patch it makes thus sense to only fix
versions containing 0cbef29a7821.
[iamjoonsoo.kim@lge.com: tracepoint fix]
Signed-off-by: Vlastimil Babka <vbabka@suse.cz>
Acked-by: Mel Gorman <mgorman@suse.de>
Cc: Zhang Yanfei <zhangyanfei@cn.fujitsu.com>
Acked-by: Minchan Kim <minchan@kernel.org>
Cc: David Rientjes <rientjes@google.com>
Cc: Rik van Riel <riel@redhat.com>
Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Michal Hocko <mhocko@suse.cz>
Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
---
include/trace/events/kmem.h | 7 ++++---
mm/page_alloc.c | 12 +++++-------
2 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/include/trace/events/kmem.h b/include/trace/events/kmem.h
index aece134..4ad10ba 100644
--- a/include/trace/events/kmem.h
+++ b/include/trace/events/kmem.h
@@ -268,11 +268,11 @@ TRACE_EVENT(mm_page_alloc_extfrag,
TP_PROTO(struct page *page,
int alloc_order, int fallback_order,
- int alloc_migratetype, int fallback_migratetype, int new_migratetype),
+ int alloc_migratetype, int fallback_migratetype),
TP_ARGS(page,
alloc_order, fallback_order,
- alloc_migratetype, fallback_migratetype, new_migratetype),
+ alloc_migratetype, fallback_migratetype),
TP_STRUCT__entry(
__field( struct page *, page )
@@ -289,7 +289,8 @@ TRACE_EVENT(mm_page_alloc_extfrag,
__entry->fallback_order = fallback_order;
__entry->alloc_migratetype = alloc_migratetype;
__entry->fallback_migratetype = fallback_migratetype;
- __entry->change_ownership = (new_migratetype == alloc_migratetype);
+ __entry->change_ownership = (alloc_migratetype ==
+ get_pageblock_migratetype(page));
),
TP_printk("page=%p pfn=%lu alloc_order=%d fallback_order=%d pageblock_order=%d alloc_migratetype=%d fallback_migratetype=%d fragmenting=%d change_ownership=%d",
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 83a20df..b764a6a 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1034,8 +1034,8 @@ static void change_pageblock_range(struct page *pageblock_page,
* nor move CMA pages to different free lists. We don't want unmovable pages
* to be allocated from MIGRATE_CMA areas.
*
- * Returns the new migratetype of the pageblock (or the same old migratetype
- * if it was unchanged).
+ * Returns the allocation migratetype if free pages were stolen, or the
+ * fallback migratetype if it was decided not to steal.
*/
static int try_to_steal_freepages(struct zone *zone, struct page *page,
int start_type, int fallback_type)
@@ -1064,12 +1064,10 @@ static int try_to_steal_freepages(struct zone *zone, struct page *page,
/* Claim the whole block if over half of it is free */
if (pages >= (1 << (pageblock_order-1)) ||
- page_group_by_mobility_disabled) {
-
+ page_group_by_mobility_disabled)
set_pageblock_migratetype(page, start_type);
- return start_type;
- }
+ return start_type;
}
return fallback_type;
@@ -1114,7 +1112,7 @@ __rmqueue_fallback(struct zone *zone, int order, int start_migratetype)
new_type);
trace_mm_page_alloc_extfrag(page, order, current_order,
- start_migratetype, migratetype, new_type);
+ start_migratetype, migratetype);
return page;
}
--
1.9.1
next prev parent reply other threads:[~2015-03-31 20:01 UTC|newest]
Thread overview: 146+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-31 19:46 [3.13.y-ckt stable] Linux 3.13.11-ckt18 stable review Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 001/143] quota: Store maximum space limit in bytes Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 002/143] ip: zero sockaddr returned on error queue Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 003/143] net: rps: fix cpu unplug Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 004/143] ipv6: stop sending PTB packets for MTU < 1280 Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 005/143] netxen: fix netxen_nic_poll() logic Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 006/143] udp_diag: Fix socket skipping within chain Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 007/143] ping: Fix race in free in receive path Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 008/143] bnx2x: fix napi poll return value for repoll Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 009/143] net: don't OOPS on socket aio Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 010/143] bridge: dont send notification when skb->len == 0 in rtnl_bridge_notify Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 011/143] ipv4: tcp: get rid of ugly unicast_sock Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 012/143] ppp: deflate: never return len larger than output buffer Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 013/143] net: sctp: fix passing wrong parameter header to param_type2af in sctp_process_param Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 014/143] ARM: pxa: add regulator_has_full_constraints to corgi board file Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 015/143] ARM: pxa: add regulator_has_full_constraints to poodle " Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 016/143] ARM: pxa: add regulator_has_full_constraints to spitz " Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 017/143] hx4700: regulator: declare full constraints Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 018/143] HID: input: fix confusion on conflicting mappings Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 019/143] HID: fixup the conflicting keyboard mappings quirk Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 020/143] megaraid_sas: disable interrupt_mask before enabling hardware interrupts Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 021/143] PCI: Generate uppercase hex for modalias var in uevent Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 022/143] usb: core: buffer: smallest buffer should start at ARCH_DMA_MINALIGN Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 023/143] tty/serial: at91: enable peripheral clock before accessing I/O registers Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 024/143] tty/serial: at91: fix error handling in atmel_serial_probe() Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 025/143] axonram: Fix bug in direct_access Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 026/143] ksoftirqd: Enable IRQs and call cond_resched() before poking RCU Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 027/143] TPM: Add new TPMs to the tail of the list to prevent inadvertent change of dev Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 028/143] char: tpm: Add missing error check for devm_kzalloc Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 029/143] tpm_tis: verify interrupt during init Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 030/143] tpm: Fix NULL return in tpm_ibmvtpm_get_desired_dma Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 031/143] tpm/tpm_i2c_stm_st33: Fix potential bug in tpm_stm_i2c_send Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 032/143] tpm/tpm_i2c_stm_st33: Add status check when reading data on the FIFO Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 033/143] mmc: sdhci-pxav3: fix unbalanced clock issues during probe Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 034/143] iwlwifi: mvm: validate tid and sta_id in ba_notif Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 035/143] power: bq24190: Fix ignored supplicants Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 036/143] ARM: DRA7: hwmod: Fix boot crash with DEBUG_LL enabled on UART3 Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 037/143] Bluetooth: ath3k: Add support of AR3012 bluetooth 13d3:3423 device Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 038/143] cfq-iosched: fix incorrect filing of rt async cfqq Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 039/143] smack: fix possible use after frees in task_security() callers Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 040/143] xfs: ensure buffer types are set correctly Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 041/143] xfs: inode unlink does not set AGI buffer type Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 042/143] xfs: set buf types when converting extent formats Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 043/143] xfs: set superblock buffer type correctly Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 044/143] btrfs: set proper message level for skinny metadata Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 045/143] KVM: s390: base hrtimer on a monotonic clock Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 046/143] PCI: Fix infinite loop with ROM image of size 0 Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 047/143] USB: cp210x: add ID for RUGGEDCOM USB Serial Console Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 048/143] clk: zynq: Force CPU_2X clock to be ungated Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 049/143] mmc: sdhci-pxav3: Remove checks for mandatory host clock Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 050/143] mmc: sdhci-pxav3: fix race between runtime pm and irq Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 051/143] power_supply: 88pm860x: Fix leaked power supply on probe fail Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 052/143] staging: comedi: comedi_compat32.c: fix COMEDI_CMD copy back Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 053/143] mmc: sdhci-pxav3: fix setting of pdata->clk_delay_cycles Kamal Mostafa
2015-03-31 19:46 ` [PATCH 3.13.y-ckt 054/143] ARM: 8284/1: sa1100: clear RCSR_SMR on resume Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 055/143] usb: musb: omap2plus bus glue needs USB host support Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 056/143] usb: musb: add omap-control dependency Kamal Mostafa
2015-04-01 9:37 ` Luis Henriques
2015-04-02 17:39 ` Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 057/143] cdc-acm: add sanity checks Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 058/143] USB: add flag for HCDs that can't receive wakeup requests (isp1760-hcd) Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 059/143] USB: fix use-after-free bug in usb_hcd_unlink_urb() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 060/143] iwlwifi: mvm: always use mac color zero Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 061/143] iwlwifi: pcie: disable the SCD_BASE_ADDR when we resume from WoWLAN Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 062/143] vt: provide notifications on selection changes Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 063/143] tty: Prevent untrappable signals from malicious program Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 064/143] cpufreq: Set cpufreq_cpu_data to NULL before putting kobject Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 065/143] [media] lmedm04: Fix usb_submit_urb BOGUS urb xfer, pipe 1 != type 3 in interrupt urb Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 066/143] mei: mask interrupt set bit on clean reset bit Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 067/143] mei: me: release hw from reset only during the reset flow Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 068/143] MIPS: KVM: Deliver guest interrupts after local_irq_disable() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 069/143] KVM: MIPS: Don't leak FPU/DSP to guest Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 070/143] ALSA: hda - Add the pin fixup for HP Envy TS bass speaker Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 071/143] ALSA: hda - Set up GPIO for Toshiba Satellite S50D Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 072/143] xen/manage: Fix USB interaction issues when resuming Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 073/143] drm/i915: Correct the IOSF Dev_FN field for IOSF transfers Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 074/143] cfq-iosched: handle failure of cfq group allocation Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 075/143] tracing: Fix unmapping loop in tracing_mark_write Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 076/143] fsnotify: fix handling of renames in audit Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 077/143] drm/radeon: workaround for CP HW bug on CIK Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 078/143] drm/radeon: only enable kv/kb dpm interrupts once v3 Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 079/143] NFSv4.1: Fix a kfree() of uninitialised pointers in decode_cb_sequence_args Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 080/143] cpufreq: speedstep-smi: enable interrupts when waiting Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 081/143] mm/hugetlb: pmd_huge() returns true for non-present hugepage Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 082/143] mm: cleanup follow_page_mask() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 083/143] mm/hugetlb: take page table lock in follow_huge_pmd() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 084/143] mm/hugetlb: fix getting refcount 0 page in hugetlb_fault() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 085/143] mm/hugetlb: add migration/hwpoisoned entry check in hugetlb_change_protection Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 086/143] mm/hugetlb: add migration entry check in __unmap_hugepage_range Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 087/143] mm: softdirty: unmapped addresses between VMAs are clean Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 088/143] proc/pagemap: walk page tables under pte lock Kamal Mostafa
2015-03-31 19:47 ` Kamal Mostafa [this message]
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 090/143] mm/mmap.c: fix arithmetic overflow in __vm_enough_memory() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 091/143] mm/nommu.c: " Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 092/143] iscsi-target: Drop problematic active_ts_list usage Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 093/143] target: Fix PR_APTPL_BUF_LEN buffer size limitation Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 094/143] mm/compaction: fix wrong order check in compact_finished() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 095/143] mm/memory.c: actually remap enough memory Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 096/143] mm: hwpoison: drop lru_add_drain_all() in __soft_offline_page() Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 097/143] ALSA: hda - enable mute led quirk for one more hp machine Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 098/143] ARC: fix page address calculation if PAGE_OFFSET != LINUX_LINK_BASE Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 099/143] drm/radeon/dp: Set EDP_CONFIGURATION_SET for bridge chips if necessary Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 100/143] drm/radeon: fix voltage setup on hawaii Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 101/143] ALSA: hdspm - Constrain periods to 2 on older cards Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 102/143] jffs2: fix handling of corrupted summary length Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 103/143] dm mirror: do not degrade the mirror on discard error Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 104/143] dm io: reject unsupported DISCARD requests with EOPNOTSUPP Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 105/143] target: Add missing WRITE_SAME end-of-device sanity check Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 106/143] target: Check for LBA + sectors wrap-around in sbc_parse_cdb Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 107/143] Btrfs: fix fsync data loss after adding hard link to inode Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 108/143] Added Little Endian support to vtpm module Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 109/143] fixed invalid assignment of 64bit mask to host dma_boundary for scatter gather segment boundary limit Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 110/143] sg: fix read() error reporting Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 111/143] IB/qib: Do not write EEPROM Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 112/143] md/raid5: Fix livelock when array is both resyncing and degraded Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 113/143] dm: fix a race condition in dm_get_md Kamal Mostafa
2015-03-31 19:47 ` [PATCH 3.13.y-ckt 114/143] dm snapshot: fix a possible invalid memory access on unload Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 115/143] cpufreq: s3c: remove incorrect __init annotations Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 116/143] libceph: assert both regular and lingering lists in __remove_osd() Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 117/143] libceph: change from BUG to WARN for __remove_osd() asserts Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 118/143] libceph: fix double __remove_osd() problem Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 119/143] MIPS: Export FP functions used by lose_fpu(1) for KVM Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 120/143] kdb: fix incorrect counts in KDB summary command output Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 121/143] blk-throttle: check stats_cpu before reading it from sysfs Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 122/143] procfs: fix race between symlink removals and traversals Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 123/143] autofs4 copy_dev_ioctl(): keep the value of ->size we'd used for allocation Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 124/143] pktgen: fix UDP checksum computation Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 125/143] ipv6: fix ipv6_cow_metrics for non DST_HOST case Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 126/143] clk-gate: fix bit # check in clk_register_gate() Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 127/143] ALSA: off by one bug in snd_riptide_joystick_probe() Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 128/143] ath5k: fix spontaneus AR5312 freezes Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 129/143] pinctrl: pinctrl-imx: don't use invalid value of conf_reg Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 130/143] ALSA: hda - Add one more node in the EAPD supporting candidate list Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 131/143] ALSA: hda - Add pin configs for ASUS mobo with IDT 92HD73XX codec Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 132/143] drm/i915/bdw: PCI IDs ending in 0xb are ULT Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 133/143] xfs: Fix quota type in quota structures when reusing quota file Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 134/143] gpiolib: of: allow of_gpiochip_find_and_xlate to find more than one chip per node Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 135/143] gpio: tps65912: fix wrong container_of arguments Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 136/143] ALSA: pcm: Don't leave PREPARED state after draining Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 137/143] metag: Fix KSTK_EIP() and KSTK_ESP() macros Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 138/143] md/raid1: fix read balance when a drive is write-mostly Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 139/143] drm/radeon: use drm_mode_vrefresh() rather than mode->vrefresh Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 140/143] drm/radeon: fix 1 RB harvest config setup for TN/RL Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 141/143] arm64: compat Fix siginfo_t -> compat_siginfo_t conversion on big endian Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 142/143] nilfs2: fix potential memory overrun on inode Kamal Mostafa
2015-03-31 19:48 ` [PATCH 3.13.y-ckt 143/143] HID: i2c-hid: Limit reads to wMaxInputLength bytes for input events Kamal Mostafa
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=1427831308-1854-90-git-send-email-kamal@canonical.com \
--to=kamal@canonical.com \
--cc=akpm@linux-foundation.org \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=hannes@cmpxchg.org \
--cc=iamjoonsoo.kim@lge.com \
--cc=kernel-team@lists.ubuntu.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=kosaki.motohiro@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=riel@redhat.com \
--cc=rientjes@google.com \
--cc=stable@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
--cc=vbabka@suse.cz \
--cc=zhangyanfei@cn.fujitsu.com \
/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).