diff for duplicates of <1459843262.5564.4.camel@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index e42266a..8d98de6 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -27,64 +27,64 @@ Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com> > --- -> include/linux/vmalloc.h | 4 ++++ -> mm/vmalloc.c | 27 +++++++++++++++++++++++++++ -> 2 files changed, 31 insertions(+) +> A include/linux/vmalloc.h |A A 4 ++++ +> A mm/vmalloc.cA A A A A A A A A A A A | 27 +++++++++++++++++++++++++++ +> A 2 files changed, 31 insertions(+) > > diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h > index d1f1d338af20..8b51df3ab334 100644 > --- a/include/linux/vmalloc.h > +++ b/include/linux/vmalloc.h > @@ -8,6 +8,7 @@ -> #include -> -> struct vm_area_struct; /* vma defining user mapping in mm_types.h */ +> A #include +> A +> A struct vm_area_struct; /* vma defining user mapping in mm_types.h */ > +struct notifier_block; /* in notifier.h */ -> -> /* bits in flags of vmalloc's vm_struct below */ -> #define VM_IOREMAP 0x00000001 /* ioremap() and friends */ +> A +> A /* bits in flags of vmalloc's vm_struct below */ +> A #define VM_IOREMAP 0x00000001 /* ioremap() and friends */ > @@ -187,4 +188,7 @@ pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms) -> #define VMALLOC_TOTAL 0UL -> #endif -> +> A #define VMALLOC_TOTAL 0UL +> A #endif +> A > +int register_vmap_purge_notifier(struct notifier_block *nb); > +int unregister_vmap_purge_notifier(struct notifier_block *nb); > + -> #endif /* _LINUX_VMALLOC_H */ +> A #endif /* _LINUX_VMALLOC_H */ > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index ae7d20b447ff..293889d7f482 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -21,6 +21,7 @@ -> #include -> #include -> #include +> A #include +> A #include +> A #include > +#include -> #include -> #include -> #include +> A #include +> A #include +> A #include > @@ -344,6 +345,8 @@ static void __insert_vmap_area(struct vmap_area *va) -> -> static void purge_vmap_area_lazy(void); -> +> A +> A static void purge_vmap_area_lazy(void); +> A > +static BLOCKING_NOTIFIER_HEAD(vmap_notify_list); > + -> /* -> * Allocate a region of KVA of the specified size and alignment, within the -> * vstart and vend. +> A /* +> A * Allocate a region of KVA of the specified size and alignment, within the +> A * vstart and vend. > @@ -363,6 +366,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size, -> BUG_ON(offset_in_page(size)); -> BUG_ON(!is_power_of_2(align)); -> +> A BUG_ON(offset_in_page(size)); +> A BUG_ON(!is_power_of_2(align)); +> A > + might_sleep_if(gfpflags_allow_blocking(gfp_mask)); > + -> va = kmalloc_node(sizeof(struct vmap_area), -> gfp_mask & GFP_RECLAIM_MASK, node); -> if (unlikely(!va)) +> A va = kmalloc_node(sizeof(struct vmap_area), +> A gfp_mask & GFP_RECLAIM_MASK, node); +> A if (unlikely(!va)) > @@ -468,6 +473,16 @@ overflow: -> purged = 1; -> goto retry; -> } +> A purged = 1; +> A goto retry; +> A } > + > + if (gfpflags_allow_blocking(gfp_mask)) { > + unsigned long freed = 0; @@ -95,13 +95,13 @@ Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > + } > + } > + -> if (printk_ratelimit()) -> pr_warn("vmap allocation for size %lu failed: use vmalloc= to increase size\n", -> size); +> A if (printk_ratelimit()) +> A pr_warn("vmap allocation for size %lu failed: use vmalloc= to increase size\n", +> A size); > @@ -475,6 +490,18 @@ overflow: -> return ERR_PTR(-EBUSY); -> } -> +> A return ERR_PTR(-EBUSY); +> A } +> A > +int register_vmap_purge_notifier(struct notifier_block *nb) > +{ > + return blocking_notifier_chain_register(&vmap_notify_list, nb); @@ -114,14 +114,16 @@ Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> > +} > +EXPORT_SYMBOL_GPL(unregister_vmap_purge_notifier); > + -> static void __free_vmap_area(struct vmap_area *va) -> { -> BUG_ON(RB_EMPTY_NODE(&va->rb_node)); +> A static void __free_vmap_area(struct vmap_area *va) +> A { +> A BUG_ON(RB_EMPTY_NODE(&va->rb_node)); -- Joonas Lahtinen Open Source Technology Center Intel Corporation -_______________________________________________ -Intel-gfx mailing list -Intel-gfx@lists.freedesktop.org -https://lists.freedesktop.org/mailman/listinfo/intel-gfx + +-- +To unsubscribe, send a message with 'unsubscribe linux-mm' in +the body to majordomo@kvack.org. For more info on Linux MM, +see: http://www.linux-mm.org/ . +Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a> diff --git a/a/content_digest b/N1/content_digest index 3bb4946..fadfa99 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -5,12 +5,13 @@ "Date\0Tue, 05 Apr 2016 11:01:02 +0300\0" "To\0Chris Wilson <chris@chris-wilson.co.uk>" " intel-gfx@lists.freedesktop.org\0" - "Cc\0linux-kernel@vger.kernel.org" + "Cc\0Andrew Morton <akpm@linux-foundation.org>" + David Rientjes <rientjes@google.com> Roman Peniaev <r.peniaev@gmail.com> + Mel Gorman <mgorman@techsingularity.net> linux-mm@kvack.org - David Rientjes <rientjes@google.com> - Andrew Morton <akpm@linux-foundation.org> - " Mel Gorman <mgorman@techsingularity.net>\0" + linux-kernel@vger.kernel.org + " Tvrtko Ursulin <tvrtko.ursulin@intel.com>\0" "\00:1\0" "b\0" "On ma, 2016-04-04 at 14:46 +0100, Chris Wilson wrote:\n" @@ -42,64 +43,64 @@ "\n" "> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>\n" "> ---\n" - "> \302\240include/linux/vmalloc.h |\302\240\302\2404 ++++\n" - "> \302\240mm/vmalloc.c\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240\302\240| 27 +++++++++++++++++++++++++++\n" - "> \302\2402 files changed, 31 insertions(+)\n" + "> A include/linux/vmalloc.h |A A 4 ++++\n" + "> A mm/vmalloc.cA A A A A A A A A A A A | 27 +++++++++++++++++++++++++++\n" + "> A 2 files changed, 31 insertions(+)\n" "> \n" "> diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h\n" "> index d1f1d338af20..8b51df3ab334 100644\n" "> --- a/include/linux/vmalloc.h\n" "> +++ b/include/linux/vmalloc.h\n" "> @@ -8,6 +8,7 @@\n" - "> \302\240#include \n" - "> \302\240\n" - "> \302\240struct vm_area_struct;\t\t/* vma defining user mapping in mm_types.h */\n" + "> A #include \n" + "> A \n" + "> A struct vm_area_struct;\t\t/* vma defining user mapping in mm_types.h */\n" "> +struct notifier_block;\t\t/* in notifier.h */\n" - "> \302\240\n" - "> \302\240/* bits in flags of vmalloc's vm_struct below */\n" - "> \302\240#define VM_IOREMAP\t\t0x00000001\t/* ioremap() and friends */\n" + "> A \n" + "> A /* bits in flags of vmalloc's vm_struct below */\n" + "> A #define VM_IOREMAP\t\t0x00000001\t/* ioremap() and friends */\n" "> @@ -187,4 +188,7 @@ pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms)\n" - "> \302\240#define VMALLOC_TOTAL 0UL\n" - "> \302\240#endif\n" - "> \302\240\n" + "> A #define VMALLOC_TOTAL 0UL\n" + "> A #endif\n" + "> A \n" "> +int register_vmap_purge_notifier(struct notifier_block *nb);\n" "> +int unregister_vmap_purge_notifier(struct notifier_block *nb);\n" "> +\n" - "> \302\240#endif /* _LINUX_VMALLOC_H */\n" + "> A #endif /* _LINUX_VMALLOC_H */\n" "> diff --git a/mm/vmalloc.c b/mm/vmalloc.c\n" "> index ae7d20b447ff..293889d7f482 100644\n" "> --- a/mm/vmalloc.c\n" "> +++ b/mm/vmalloc.c\n" "> @@ -21,6 +21,7 @@\n" - "> \302\240#include \n" - "> \302\240#include \n" - "> \302\240#include \n" + "> A #include \n" + "> A #include \n" + "> A #include \n" "> +#include \n" - "> \302\240#include \n" - "> \302\240#include \n" - "> \302\240#include \n" + "> A #include \n" + "> A #include \n" + "> A #include \n" "> @@ -344,6 +345,8 @@ static void __insert_vmap_area(struct vmap_area *va)\n" - "> \302\240\n" - "> \302\240static void purge_vmap_area_lazy(void);\n" - "> \302\240\n" + "> A \n" + "> A static void purge_vmap_area_lazy(void);\n" + "> A \n" "> +static BLOCKING_NOTIFIER_HEAD(vmap_notify_list);\n" "> +\n" - "> \302\240/*\n" - "> \302\240 * Allocate a region of KVA of the specified size and alignment, within the\n" - "> \302\240 * vstart and vend.\n" + "> A /*\n" + "> A * Allocate a region of KVA of the specified size and alignment, within the\n" + "> A * vstart and vend.\n" "> @@ -363,6 +366,8 @@ static struct vmap_area *alloc_vmap_area(unsigned long size,\n" - "> \302\240\tBUG_ON(offset_in_page(size));\n" - "> \302\240\tBUG_ON(!is_power_of_2(align));\n" - "> \302\240\n" + "> A \tBUG_ON(offset_in_page(size));\n" + "> A \tBUG_ON(!is_power_of_2(align));\n" + "> A \n" "> +\tmight_sleep_if(gfpflags_allow_blocking(gfp_mask));\n" "> +\n" - "> \302\240\tva = kmalloc_node(sizeof(struct vmap_area),\n" - "> \302\240\t\t\tgfp_mask & GFP_RECLAIM_MASK, node);\n" - "> \302\240\tif (unlikely(!va))\n" + "> A \tva = kmalloc_node(sizeof(struct vmap_area),\n" + "> A \t\t\tgfp_mask & GFP_RECLAIM_MASK, node);\n" + "> A \tif (unlikely(!va))\n" "> @@ -468,6 +473,16 @@ overflow:\n" - "> \302\240\t\tpurged = 1;\n" - "> \302\240\t\tgoto retry;\n" - "> \302\240\t}\n" + "> A \t\tpurged = 1;\n" + "> A \t\tgoto retry;\n" + "> A \t}\n" "> +\n" "> +\tif (gfpflags_allow_blocking(gfp_mask)) {\n" "> +\t\tunsigned long freed = 0;\n" @@ -110,13 +111,13 @@ "> +\t\t}\n" "> +\t}\n" "> +\n" - "> \302\240\tif (printk_ratelimit())\n" - "> \302\240\t\tpr_warn(\"vmap allocation for size %lu failed: use vmalloc= to increase size\\n\",\n" - "> \302\240\t\t\tsize);\n" + "> A \tif (printk_ratelimit())\n" + "> A \t\tpr_warn(\"vmap allocation for size %lu failed: use vmalloc= to increase size\\n\",\n" + "> A \t\t\tsize);\n" "> @@ -475,6 +490,18 @@ overflow:\n" - "> \302\240\treturn ERR_PTR(-EBUSY);\n" - "> \302\240}\n" - "> \302\240\n" + "> A \treturn ERR_PTR(-EBUSY);\n" + "> A }\n" + "> A \n" "> +int register_vmap_purge_notifier(struct notifier_block *nb)\n" "> +{\n" "> +\treturn blocking_notifier_chain_register(&vmap_notify_list, nb);\n" @@ -129,16 +130,18 @@ "> +}\n" "> +EXPORT_SYMBOL_GPL(unregister_vmap_purge_notifier);\n" "> +\n" - "> \302\240static void __free_vmap_area(struct vmap_area *va)\n" - "> \302\240{\n" - "> \302\240\tBUG_ON(RB_EMPTY_NODE(&va->rb_node));\n" + "> A static void __free_vmap_area(struct vmap_area *va)\n" + "> A {\n" + "> A \tBUG_ON(RB_EMPTY_NODE(&va->rb_node));\n" "-- \n" "Joonas Lahtinen\n" "Open Source Technology Center\n" "Intel Corporation\n" - "_______________________________________________\n" - "Intel-gfx mailing list\n" - "Intel-gfx@lists.freedesktop.org\n" - https://lists.freedesktop.org/mailman/listinfo/intel-gfx + "\n" + "--\n" + "To unsubscribe, send a message with 'unsubscribe linux-mm' in\n" + "the body to majordomo@kvack.org. For more info on Linux MM,\n" + "see: http://www.linux-mm.org/ .\n" + "Don't email: <a href=mailto:\"dont@kvack.org\"> email@kvack.org </a>" -76a9c8fd4a69bc90f09ebb6da137cdf41f2a487c288cbbcdfabc428a065831f0 +d979022e2b5cb56525f6cf8434a5d1a5ac5e8ba855c3c3558ed158f209969cd6
diff --git a/a/1.txt b/N2/1.txt index e42266a..89d7f52 100644 --- a/a/1.txt +++ b/N2/1.txt @@ -121,7 +121,3 @@ Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Joonas Lahtinen Open Source Technology Center Intel Corporation -_______________________________________________ -Intel-gfx mailing list -Intel-gfx@lists.freedesktop.org -https://lists.freedesktop.org/mailman/listinfo/intel-gfx diff --git a/a/content_digest b/N2/content_digest index 3bb4946..bddbaf8 100644 --- a/a/content_digest +++ b/N2/content_digest @@ -5,12 +5,13 @@ "Date\0Tue, 05 Apr 2016 11:01:02 +0300\0" "To\0Chris Wilson <chris@chris-wilson.co.uk>" " intel-gfx@lists.freedesktop.org\0" - "Cc\0linux-kernel@vger.kernel.org" + "Cc\0Andrew Morton <akpm@linux-foundation.org>" + David Rientjes <rientjes@google.com> Roman Peniaev <r.peniaev@gmail.com> + Mel Gorman <mgorman@techsingularity.net> linux-mm@kvack.org - David Rientjes <rientjes@google.com> - Andrew Morton <akpm@linux-foundation.org> - " Mel Gorman <mgorman@techsingularity.net>\0" + linux-kernel@vger.kernel.org + " Tvrtko Ursulin <tvrtko.ursulin@intel.com>\0" "\00:1\0" "b\0" "On ma, 2016-04-04 at 14:46 +0100, Chris Wilson wrote:\n" @@ -135,10 +136,6 @@ "-- \n" "Joonas Lahtinen\n" "Open Source Technology Center\n" - "Intel Corporation\n" - "_______________________________________________\n" - "Intel-gfx mailing list\n" - "Intel-gfx@lists.freedesktop.org\n" - https://lists.freedesktop.org/mailman/listinfo/intel-gfx + Intel Corporation -76a9c8fd4a69bc90f09ebb6da137cdf41f2a487c288cbbcdfabc428a065831f0 +53a6c35297c92665553ac2b7ff24ed245548ef9b9563972d0483235bd6485927
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.