All of lore.kernel.org
 help / color / mirror / Atom feed
* + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
@ 2015-11-03 23:32 akpm
  2015-11-04  9:18 ` Michal Hocko
  0 siblings, 1 reply; 5+ messages in thread
From: akpm @ 2015-11-03 23:32 UTC (permalink / raw)
  To: akpm, ben, hannes, mhocko, vdavydov, mm-commits


The patch titled
     Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
has been added to the -mm tree.  Its filename is
     memcg-fix-thresholds-for-32b-architectures-fix-fix.patch

This patch should soon appear at
    http://ozlabs.org/~akpm/mmots/broken-out/memcg-fix-thresholds-for-32b-architectures-fix-fix.patch
and later at
    http://ozlabs.org/~akpm/mmotm/broken-out/memcg-fix-thresholds-for-32b-architectures-fix-fix.patch

Before you just go and hit "reply", please:
   a) Consider who else should be cc'ed
   b) Prefer to cc a suitable mailing list as well
   c) Ideally: find the original patch on the mailing list and do a
      reply-to-all to that, adding suitable additional cc's

*** Remember to use Documentation/SubmitChecklist when testing your code ***

The -mm tree is included into linux-next and is updated
there every 3-4 working days

------------------------------------------------------
From: Andrew Morton <akpm@linux-foundation.org>
Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix

don't attempt to inline mem_cgroup_usage()

The compiler ignores the inline anwyay.  And __always_inlining it adds 600
bytes of goop to the .o file.

Cc: Ben Hutchings <ben@decadent.org.uk>
Cc: Johannes Weiner <hannes@cmpxchg.org>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Vladimir Davydov <vdavydov@virtuozzo.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---

 mm/memcontrol.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN mm/memcontrol.c~memcg-fix-thresholds-for-32b-architectures-fix-fix mm/memcontrol.c
--- a/mm/memcontrol.c~memcg-fix-thresholds-for-32b-architectures-fix-fix
+++ a/mm/memcontrol.c
@@ -2801,7 +2801,7 @@ static unsigned long tree_stat(struct me
 	return val;
 }
 
-static inline unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
+static unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
 {
 	unsigned long val;
 
_

Patches currently in -mm which might be from akpm@linux-foundation.org are

arch-alpha-kernel-systblss-remove-debug-check.patch
drivers-gpu-drm-i915-intel_spritec-fix-build.patch
drivers-gpu-drm-i915-intel_tvc-fix-build.patch
mm.patch
slub-optimize-bulk-slowpath-free-by-detached-freelist-fix.patch
uaccess-reimplement-probe_kernel_address-using-probe_kernel_read.patch
uaccess-reimplement-probe_kernel_address-using-probe_kernel_read-fix.patch
uaccess-reimplement-probe_kernel_address-using-probe_kernel_read-fix-fix.patch
mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-fix.patch
mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-checkpatch-fixes.patch
mm-page_alloc-only-enforce-watermarks-for-order-0-allocations-fix-fix.patch
mm-fix-declarations-of-nr-delta-and-nr_pagecache_reclaimable-fix.patch
mm-oom_kill-fix-the-wrong-task-mm-==-mm-checks-in-oom_kill_process-fix.patch
include-linux-mmzoneh-reflow-comment.patch
mm-fs-introduce-mapping_gfp_constraint-checkpatch-fixes.patch
mm-vmstatc-uninline-node_page_state.patch
mm-vmstatc-uninline-node_page_state-fix.patch
mm-cmac-suppress-warning.patch
memcg-fix-thresholds-for-32b-architectures-fix-fix.patch
kasan-various-fixes-in-documentation-checkpatch-fixes.patch
mm-slub-kasan-enable-user-tracking-by-default-with-kasan=y-fix.patch
zsmalloc-add-comments-for-inuse-to-zspage-v2-fix.patch
page-flags-define-pg_locked-behavior-on-compound-pages-fix.patch
mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix.patch
mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-checkpatch-fixes.patch
mm-increase-swap_cluster_max-to-batch-tlb-flushes-fix-fix.patch
include-linux-compiler-gcch-improve-__visible-documentation.patch
fs-jffs2-wbufc-remove-stray-semicolon.patch
lib-documentation-synchronize-%p-formatting-documentation-fix-fix.patch
rbtree-clarify-documentation-of-rbtree_postorder_for_each_entry_safe-fix.patch
dma-mapping-tidy-up-dma_parms-default-handling-fix.patch
panic-release-stale-console-lock-to-always-get-the-logbuf-printed-out-fix.patch
linux-next-rejects.patch
mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-nvem-fix.patch
mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-arm-fix.patch
mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-arm-fix-fix.patch
net-ipv4-routec-prevent-oops.patch
remove-abs64.patch
remove-abs64-fix.patch
remove-abs64-fix-fix.patch
remove-abs64-fix-fix-fix.patch
do_shared_fault-check-that-mmap_sem-is-held.patch
kernel-forkc-export-kernel_thread-to-modules.patch
slab-leaks3-default-y.patch


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
  2015-11-03 23:32 + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree akpm
@ 2015-11-04  9:18 ` Michal Hocko
  2015-11-06  2:31   ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Michal Hocko @ 2015-11-04  9:18 UTC (permalink / raw)
  To: akpm; +Cc: ben, hannes, vdavydov, mm-commits, linux-mm

On Tue 03-11-15 15:32:11, Andrew Morton wrote:
> From: Andrew Morton <akpm@linux-foundation.org>
> Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
> 
> don't attempt to inline mem_cgroup_usage()
> 
> The compiler ignores the inline anwyay.  And __always_inlining it adds 600
> bytes of goop to the .o file.

I am not sure you whether you want to fold this into the original patch
but I would prefer this to be a separate one. Anyway it makes a good
sense. The only performance semi-sensitive path would be
__mem_cgroup_threshold but I seriously doubt a single function call
would make a measurable difference because memcg_check_events is rate
limited.

> Cc: Ben Hutchings <ben@decadent.org.uk>
> Cc: Johannes Weiner <hannes@cmpxchg.org>
> Cc: Michal Hocko <mhocko@kernel.org>
> Cc: Vladimir Davydov <vdavydov@virtuozzo.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>

Acked-by: Michal Hocko <mhocko@suse.com>

Thanks!

> ---
> 
>  mm/memcontrol.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff -puN mm/memcontrol.c~memcg-fix-thresholds-for-32b-architectures-fix-fix mm/memcontrol.c
> --- a/mm/memcontrol.c~memcg-fix-thresholds-for-32b-architectures-fix-fix
> +++ a/mm/memcontrol.c
> @@ -2801,7 +2801,7 @@ static unsigned long tree_stat(struct me
>  	return val;
>  }
>  
> -static inline unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
> +static unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
>  {
>  	unsigned long val;
>  
> _
> 
> Patches currently in -mm which might be from akpm@linux-foundation.org are
> 
> arch-alpha-kernel-systblss-remove-debug-check.patch
> drivers-gpu-drm-i915-intel_spritec-fix-build.patch
> drivers-gpu-drm-i915-intel_tvc-fix-build.patch
> mm.patch
> slub-optimize-bulk-slowpath-free-by-detached-freelist-fix.patch
> uaccess-reimplement-probe_kernel_address-using-probe_kernel_read.patch
> uaccess-reimplement-probe_kernel_address-using-probe_kernel_read-fix.patch
> uaccess-reimplement-probe_kernel_address-using-probe_kernel_read-fix-fix.patch
> mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-fix.patch
> mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-checkpatch-fixes.patch
> mm-page_alloc-only-enforce-watermarks-for-order-0-allocations-fix-fix.patch
> mm-fix-declarations-of-nr-delta-and-nr_pagecache_reclaimable-fix.patch
> mm-oom_kill-fix-the-wrong-task-mm-==-mm-checks-in-oom_kill_process-fix.patch
> include-linux-mmzoneh-reflow-comment.patch
> mm-fs-introduce-mapping_gfp_constraint-checkpatch-fixes.patch
> mm-vmstatc-uninline-node_page_state.patch
> mm-vmstatc-uninline-node_page_state-fix.patch
> mm-cmac-suppress-warning.patch
> memcg-fix-thresholds-for-32b-architectures-fix-fix.patch
> kasan-various-fixes-in-documentation-checkpatch-fixes.patch
> mm-slub-kasan-enable-user-tracking-by-default-with-kasan=y-fix.patch
> zsmalloc-add-comments-for-inuse-to-zspage-v2-fix.patch
> page-flags-define-pg_locked-behavior-on-compound-pages-fix.patch
> mm-rework-mapcount-accounting-to-enable-4k-mapping-of-thps-fix.patch
> mm-prepare-page_referenced-and-page_idle-to-new-thp-refcounting-checkpatch-fixes.patch
> mm-increase-swap_cluster_max-to-batch-tlb-flushes-fix-fix.patch
> include-linux-compiler-gcch-improve-__visible-documentation.patch
> fs-jffs2-wbufc-remove-stray-semicolon.patch
> lib-documentation-synchronize-%p-formatting-documentation-fix-fix.patch
> rbtree-clarify-documentation-of-rbtree_postorder_for_each_entry_safe-fix.patch
> dma-mapping-tidy-up-dma_parms-default-handling-fix.patch
> panic-release-stale-console-lock-to-always-get-the-logbuf-printed-out-fix.patch
> linux-next-rejects.patch
> mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-nvem-fix.patch
> mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-arm-fix.patch
> mm-page_alloc-rename-__gfp_wait-to-__gfp_reclaim-arm-fix-fix.patch
> net-ipv4-routec-prevent-oops.patch
> remove-abs64.patch
> remove-abs64-fix.patch
> remove-abs64-fix-fix.patch
> remove-abs64-fix-fix-fix.patch
> do_shared_fault-check-that-mmap_sem-is-held.patch
> kernel-forkc-export-kernel_thread-to-modules.patch
> slab-leaks3-default-y.patch

-- 
Michal Hocko
SUSE Labs

--
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>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
  2015-11-04  9:18 ` Michal Hocko
@ 2015-11-06  2:31   ` Andrew Morton
  2015-11-06  9:52     ` Michal Hocko
  2015-11-07 14:23     ` Sergey Senozhatsky
  0 siblings, 2 replies; 5+ messages in thread
From: Andrew Morton @ 2015-11-06  2:31 UTC (permalink / raw)
  To: Michal Hocko; +Cc: ben, hannes, vdavydov, linux-mm

On Wed, 4 Nov 2015 10:18:04 +0100 Michal Hocko <mhocko@kernel.org> wrote:

> On Tue 03-11-15 15:32:11, Andrew Morton wrote:
> > From: Andrew Morton <akpm@linux-foundation.org>
> > Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
> > 
> > don't attempt to inline mem_cgroup_usage()
> > 
> > The compiler ignores the inline anwyay.  And __always_inlining it adds 600
> > bytes of goop to the .o file.
> 
> I am not sure you whether you want to fold this into the original patch
> but I would prefer this to be a separate one.

I'm going to drop this - it was already marked inline and gcc just
ignores the inline anyway so shrug.

--
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>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
  2015-11-06  2:31   ` Andrew Morton
@ 2015-11-06  9:52     ` Michal Hocko
  2015-11-07 14:23     ` Sergey Senozhatsky
  1 sibling, 0 replies; 5+ messages in thread
From: Michal Hocko @ 2015-11-06  9:52 UTC (permalink / raw)
  To: Andrew Morton; +Cc: ben, hannes, vdavydov, linux-mm

On Thu 05-11-15 18:31:32, Andrew Morton wrote:
> On Wed, 4 Nov 2015 10:18:04 +0100 Michal Hocko <mhocko@kernel.org> wrote:
> 
> > On Tue 03-11-15 15:32:11, Andrew Morton wrote:
> > > From: Andrew Morton <akpm@linux-foundation.org>
> > > Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
> > > 
> > > don't attempt to inline mem_cgroup_usage()
> > > 
> > > The compiler ignores the inline anwyay.  And __always_inlining it adds 600
> > > bytes of goop to the .o file.
> > 
> > I am not sure you whether you want to fold this into the original patch
> > but I would prefer this to be a separate one.
> 
> I'm going to drop this - it was already marked inline and gcc just
> ignores the inline anyway so shrug.

gcc version 5.2.1 20151010 (Debian 5.2.1-22)
$ size mm/memcontrol.o mm/memcontrol.o.before
   text    data     bss     dec     hex filename
  35535    7908      64   43507    a9f3 mm/memcontrol.o
  35762    7908      64   43734    aad6 mm/memcontrol.o.before

So it's only 227B but still. I think it is worth it.

-- 
Michal Hocko
SUSE Labs

--
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>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
  2015-11-06  2:31   ` Andrew Morton
  2015-11-06  9:52     ` Michal Hocko
@ 2015-11-07 14:23     ` Sergey Senozhatsky
  1 sibling, 0 replies; 5+ messages in thread
From: Sergey Senozhatsky @ 2015-11-07 14:23 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Michal Hocko, ben, hannes, vdavydov, linux-mm

Hi,

On (11/05/15 18:31), Andrew Morton wrote:
> > On Tue 03-11-15 15:32:11, Andrew Morton wrote:
> > > From: Andrew Morton <akpm@linux-foundation.org>
> > > Subject: memcg-fix-thresholds-for-32b-architectures-fix-fix
> > > 
> > > don't attempt to inline mem_cgroup_usage()
> > > 
> > > The compiler ignores the inline anwyay.  And __always_inlining it adds 600
> > > bytes of goop to the .o file.
> > 
> > I am not sure you whether you want to fold this into the original patch
> > but I would prefer this to be a separate one.
> 
> I'm going to drop this - it was already marked inline and gcc just
> ignores the inline anyway so shrug.
> 

Just out of curiosity, seems that my gcc (5.2) is happy to inline
it (as of linux-next-20151106):

$ grep 'mem_cgroup_usage ' __ipa_build_log
  Inlining page_counter_read into mem_cgroup_usage (always_inline).
  Inlining page_counter_read into mem_cgroup_usage (always_inline).
  Inlining mem_cgroup_is_root into mem_cgroup_usage (always_inline).
  Inlining mem_cgroup_usage into mem_cgroup_read_u64 (always_inline).
  Inlining mem_cgroup_usage into mem_cgroup_read_u64 (always_inline).
  Inlining mem_cgroup_usage into __mem_cgroup_threshold (always_inline).
  Inlining mem_cgroup_usage into __mem_cgroup_usage_unregister_event (always_inline).
  Inlining mem_cgroup_usage into __mem_cgroup_usage_unregister_event (always_inline).
  Inlining mem_cgroup_usage into __mem_cgroup_usage_register_event (always_inline).
  Inlining mem_cgroup_usage into __mem_cgroup_usage_register_event (always_inline).


and the resulting vmlinux.o files

$ ./scripts/bloat-o-meter vmlinux.o.old vmlinux.o
add/remove: 1/0 grow/shrink: 0/4 up/down: 113/-351 (-238)
function                                     old     new   delta
mem_cgroup_usage                               -     113    +113
__mem_cgroup_usage_unregister_event          409     331     -78
__mem_cgroup_threshold                       529     447     -82
__mem_cgroup_usage_register_event            498     403     -95
mem_cgroup_read_u64                          256     160     -96

	-ss

--
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>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-11-07 14:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-03 23:32 + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree akpm
2015-11-04  9:18 ` Michal Hocko
2015-11-06  2:31   ` Andrew Morton
2015-11-06  9:52     ` Michal Hocko
2015-11-07 14:23     ` Sergey Senozhatsky

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.