* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
[not found] <563943fb.IYtEMWL7tCGWBkSl%akpm@linux-foundation.org>
@ 2015-11-04 9:18 ` Michal Hocko
2015-11-06 2:31 ` Andrew Morton
0 siblings, 1 reply; 4+ 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] 4+ messages in thread
* Re: + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree
2015-11-04 9:18 ` + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree 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; 4+ 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] 4+ 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; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread
end of thread, other threads:[~2015-11-07 14:24 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <563943fb.IYtEMWL7tCGWBkSl%akpm@linux-foundation.org>
2015-11-04 9:18 ` + memcg-fix-thresholds-for-32b-architectures-fix-fix.patch added to -mm tree 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 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).