Skip to content

Commit

Permalink
Merge branch 'akpm' (patches from Andrew)
Browse files Browse the repository at this point in the history
Merge misc fixes from Andrew Morton:
 "8 fixes"

* emailed patches from Andrew Morton <akpm@linux-foundation.org>:
  MAINTAINERS: demote ARM port to "odd fixes"
  MAINTAINERS: correct rmk's email address
  mm/kmemleak.c: wait for scan completion before disabling free
  mm/memcontrol.c: fix parameter description mismatch
  mm/vmstat.c: fix vmstat_update() preemption BUG
  mm/page_owner: fix recursion bug after changing skip entries
  ipc/shm.c: add split function to shm_vm_ops
  mm, slab: memcg_link the SLAB's kmem_cache
  • Loading branch information
Linus Torvalds committed Mar 29, 2018
2 parents a2601d7 + 18bd490 commit 68b8dff
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 20 deletions.
32 changes: 23 additions & 9 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -1060,41 +1060,42 @@ ARM PORT
M: Russell King <linux@armlinux.org.uk>
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W: http://www.armlinux.org.uk/
S: Maintained
S: Odd Fixes
T: git git://git.armlinux.org.uk/~rmk/linux-arm.git
F: arch/arm/
X: arch/arm/boot/dts/

ARM PRIMECELL AACI PL041 DRIVER
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: sound/arm/aaci.*

ARM PRIMECELL BUS SUPPORT
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: drivers/amba/
F: include/linux/amba/bus.h

ARM PRIMECELL CLCD PL110 DRIVER
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: drivers/video/fbdev/amba-clcd.*

ARM PRIMECELL KMI PL050 DRIVER
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: drivers/input/serio/ambakmi.*
F: include/linux/amba/kmi.h

ARM PRIMECELL MMCI PL180/1 DRIVER
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: drivers/mmc/host/mmci.*
F: include/linux/amba/mmci.h

ARM PRIMECELL UART PL010 AND PL011 DRIVERS
M: Russell King <linux@armlinux.org.uk>
S: Maintained
S: Odd Fixes
F: drivers/tty/serial/amba-pl01*.c
F: include/linux/amba/serial.h

Expand Down Expand Up @@ -8434,7 +8435,7 @@ S: Orphan
F: drivers/net/wireless/marvell/libertas/

MARVELL MACCHIATOBIN SUPPORT
M: Russell King <rmk@armlinux.org.uk>
M: Russell King <linux@armlinux.org.uk>
L: linux-arm-kernel@lists.infradead.org
S: Maintained
F: arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts
Expand All @@ -8447,7 +8448,7 @@ F: drivers/net/ethernet/marvell/mv643xx_eth.*
F: include/linux/mv643xx.h

MARVELL MV88X3310 PHY DRIVER
M: Russell King <rmk@armlinux.org.uk>
M: Russell King <linux@armlinux.org.uk>
L: netdev@vger.kernel.org
S: Maintained
F: drivers/net/phy/marvell10g.c
Expand Down Expand Up @@ -12875,6 +12876,19 @@ S: Maintained
F: drivers/net/ethernet/socionext/netsec.c
F: Documentation/devicetree/bindings/net/socionext-netsec.txt

SOLIDRUN CLEARFOG SUPPORT
M: Russell King <linux@armlinux.org.uk>
S: Maintained
F: arch/arm/boot/dts/armada-388-clearfog*
F: arch/arm/boot/dts/armada-38x-solidrun-*

SOLIDRUN CUBOX-I/HUMMINGBOARD SUPPORT
M: Russell King <linux@armlinux.org.uk>
S: Maintained
F: arch/arm/boot/dts/imx6*-cubox-i*
F: arch/arm/boot/dts/imx6*-hummingboard*
F: arch/arm/boot/dts/imx6*-sr-*

SONIC NETWORK DRIVER
M: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
L: netdev@vger.kernel.org
Expand Down
12 changes: 12 additions & 0 deletions ipc/shm.c
Original file line number Diff line number Diff line change
Expand Up @@ -386,6 +386,17 @@ static int shm_fault(struct vm_fault *vmf)
return sfd->vm_ops->fault(vmf);
}

static int shm_split(struct vm_area_struct *vma, unsigned long addr)
{
struct file *file = vma->vm_file;
struct shm_file_data *sfd = shm_file_data(file);

if (sfd->vm_ops && sfd->vm_ops->split)
return sfd->vm_ops->split(vma, addr);

return 0;
}

#ifdef CONFIG_NUMA
static int shm_set_policy(struct vm_area_struct *vma, struct mempolicy *new)
{
Expand Down Expand Up @@ -510,6 +521,7 @@ static const struct vm_operations_struct shm_vm_ops = {
.open = shm_open, /* callback for a new vm-area open */
.close = shm_close, /* callback for when the vm-area is released */
.fault = shm_fault,
.split = shm_split,
#if defined(CONFIG_NUMA)
.set_policy = shm_set_policy,
.get_policy = shm_get_policy,
Expand Down
12 changes: 7 additions & 5 deletions mm/kmemleak.c
Original file line number Diff line number Diff line change
Expand Up @@ -1657,8 +1657,7 @@ static void start_scan_thread(void)
}

/*
* Stop the automatic memory scanning thread. This function must be called
* with the scan_mutex held.
* Stop the automatic memory scanning thread.
*/
static void stop_scan_thread(void)
{
Expand Down Expand Up @@ -1921,12 +1920,15 @@ static void kmemleak_do_cleanup(struct work_struct *work)
{
stop_scan_thread();

mutex_lock(&scan_mutex);
/*
* Once the scan thread has stopped, it is safe to no longer track
* object freeing. Ordering of the scan thread stopping and the memory
* accesses below is guaranteed by the kthread_stop() function.
* Once it is made sure that kmemleak_scan has stopped, it is safe to no
* longer track object freeing. Ordering of the scan thread stopping and
* the memory accesses below is guaranteed by the kthread_stop()
* function.
*/
kmemleak_free_enabled = 0;
mutex_unlock(&scan_mutex);

if (!kmemleak_found_leaks)
__kmemleak_do_cleanup();
Expand Down
6 changes: 3 additions & 3 deletions mm/memcontrol.c
Original file line number Diff line number Diff line change
Expand Up @@ -714,9 +714,9 @@ static struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm)
* invocations for reference counting, or use mem_cgroup_iter_break()
* to cancel a hierarchy walk before the round-trip is complete.
*
* Reclaimers can specify a zone and a priority level in @reclaim to
* Reclaimers can specify a node and a priority level in @reclaim to
* divide up the memcgs in the hierarchy among all concurrent
* reclaimers operating on the same zone and priority.
* reclaimers operating on the same node and priority.
*/
struct mem_cgroup *mem_cgroup_iter(struct mem_cgroup *root,
struct mem_cgroup *prev,
Expand Down Expand Up @@ -2299,7 +2299,7 @@ void memcg_kmem_put_cache(struct kmem_cache *cachep)
}

/**
* memcg_kmem_charge: charge a kmem page
* memcg_kmem_charge_memcg: charge a kmem page
* @page: page to charge
* @gfp: reclaim mode
* @order: allocation order
Expand Down
6 changes: 3 additions & 3 deletions mm/page_owner.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,13 @@ void __reset_page_owner(struct page *page, unsigned int order)
static inline bool check_recursive_alloc(struct stack_trace *trace,
unsigned long ip)
{
int i, count;
int i;

if (!trace->nr_entries)
return false;

for (i = 0, count = 0; i < trace->nr_entries; i++) {
if (trace->entries[i] == ip && ++count == 2)
for (i = 0; i < trace->nr_entries; i++) {
if (trace->entries[i] == ip)
return true;
}

Expand Down
1 change: 1 addition & 0 deletions mm/slab.c
Original file line number Diff line number Diff line change
Expand Up @@ -1283,6 +1283,7 @@ void __init kmem_cache_init(void)
nr_node_ids * sizeof(struct kmem_cache_node *),
SLAB_HWCACHE_ALIGN, 0, 0);
list_add(&kmem_cache->list, &slab_caches);
memcg_link_cache(kmem_cache);
slab_state = PARTIAL;

/*
Expand Down
2 changes: 2 additions & 0 deletions mm/vmstat.c
Original file line number Diff line number Diff line change
Expand Up @@ -1839,9 +1839,11 @@ static void vmstat_update(struct work_struct *w)
* to occur in the future. Keep on running the
* update worker thread.
*/
preempt_disable();
queue_delayed_work_on(smp_processor_id(), mm_percpu_wq,
this_cpu_ptr(&vmstat_work),
round_jiffies_relative(sysctl_stat_interval));
preempt_enable();
}
}

Expand Down

0 comments on commit 68b8dff

Please sign in to comment.