[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210204184520.GC1837780@carbon.DHCP.thefacebook.com>
Date: Thu, 4 Feb 2021 10:45:20 -0800
From: Roman Gushchin <guro@...com>
To: Johannes Weiner <hannes@...xchg.org>
CC: Andrew Morton <akpm@...ux-foundation.org>,
Tejun Heo <tj@...nel.org>, Michal Hocko <mhocko@...e.com>,
<linux-mm@...ck.org>, <cgroups@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <kernel-team@...com>
Subject: Re: [PATCH 6/7] mm: memcontrol: switch to rstat
On Thu, Feb 04, 2021 at 11:26:32AM -0500, Johannes Weiner wrote:
> On Tue, Feb 02, 2021 at 05:47:26PM -0800, Roman Gushchin wrote:
> > On Tue, Feb 02, 2021 at 01:47:45PM -0500, Johannes Weiner wrote:
> > > for_each_node(node) {
> > > struct mem_cgroup_per_node *pn = memcg->nodeinfo[node];
> > > + unsigned long stat[NR_VM_NODE_STAT_ITEMS] = {0, };
> > ^^
> > I'd drop the comma here. It seems that "{0}" version is way more popular
> > over the mm code and in the kernel in general.
>
> Is there a downside to the comma? I'm finding more { 0, } than { 0 }
> in mm code, and at least kernel-wide it seems both are acceptable
> (although { 0 } is more popular overall).
{ 0 } is more obvious and saves a character. The "problem" with comma
version is that { 1, } and { 0, } have a different meaning.
It seems like 13 (no comma) vs 11 (comma) in the mm code:
[guro@...bon mm]$ pwd
/home/guro/linux/mm
[guro@...bon mm]$ ag --nofilename "\{0\}"
DEFINE_PER_CPU(struct vm_event_state, vm_event_states) = {{0}};
return (swp_entry_t) {0};
unsigned long stat[MEMCG_NR_STAT] = {0};
swp_entry_t entry = (swp_entry_t){0};
[guro@...bon mm]$ ag --nofilename "\{ 0 \}"
struct cleancache_filekey key = { .u.key = { 0 } };
struct cleancache_filekey key = { .u.key = { 0 } };
struct cleancache_filekey key = { .u.key = { 0 } };
struct cleancache_filekey key = { .u.key = { 0 } };
unsigned long stack_entries[KFENCE_STACK_DEPTH] = { 0 };
DECLARE_BITMAP(map, SUBSECTIONS_PER_SECTION) = { 0 };
DECLARE_BITMAP(tmp, SUBSECTIONS_PER_SECTION) = { 0 };
DECLARE_BITMAP(map, SUBSECTIONS_PER_SECTION) = { 0 };
unsigned long nr_zone_taken[MAX_NR_ZONES] = { 0 };
[guro@...bon mm]$ ag --nofilename "\{ 0, \}"
int global_zone_diff[NR_VM_ZONE_STAT_ITEMS] = { 0, };
int global_numa_diff[NR_VM_NUMA_STAT_ITEMS] = { 0, };
int global_node_diff[NR_VM_NODE_STAT_ITEMS] = { 0, };
int global_zone_diff[NR_VM_ZONE_STAT_ITEMS] = { 0, };
int global_numa_diff[NR_VM_NUMA_STAT_ITEMS] = { 0, };
int global_node_diff[NR_VM_NODE_STAT_ITEMS] = { 0, };
unsigned long count[MIGRATE_TYPES] = { 0, };
struct memory_failure_entry entry = { 0, };
unsigned long nr_skipped[MAX_NR_ZONES] = { 0, };
unsigned long zone_boosts[MAX_NR_ZONES] = { 0, };
unsigned long count[MIGRATE_TYPES] = { 0, };
>
> I don't care much either way. I can change it in v2 if there is one.
Sure, of course it's not worth a separate version.
Thanks!
Powered by blists - more mailing lists