Skip to content

Commit

Permalink
mm: section numbers use the type "unsigned long"
Browse files Browse the repository at this point in the history
Patch series "mm: Further memory block device cleanups", v1.

Some further cleanups around memory block devices.  Especially, clean up
and simplify walk_memory_range().  Including some other minor cleanups.

This patch (of 6):

We are using a mixture of "int" and "unsigned long".  Let's make this
consistent by using "unsigned long" everywhere.  We'll do the same with
memory block ids next.

While at it, turn the "unsigned long i" in removable_show() into an int
- sections_per_block is an int.

[[email protected]: s/unsigned long i/unsigned long nr/]
[[email protected]: v3]
  Link: http://lkml.kernel.org/r/[email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: David Hildenbrand <[email protected]>
Reviewed-by: Andrew Morton <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: "Rafael J. Wysocki" <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Mel Gorman <[email protected]>
Cc: Wei Yang <[email protected]>
Cc: Johannes Weiner <[email protected]>
Cc: Arun KS <[email protected]>
Cc: Pavel Tatashin <[email protected]>
Cc: Oscar Salvador <[email protected]>
Cc: Stephen Rothwell <[email protected]>
Cc: Mike Rapoport <[email protected]>
Cc: Baoquan He <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
davidhildenbrand authored and torvalds committed Jul 19, 2019
1 parent 7563987 commit 2491f0a
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 22 deletions.
27 changes: 13 additions & 14 deletions drivers/base/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ static DEFINE_MUTEX(mem_sysfs_mutex);

static int sections_per_block;

static inline int base_memory_block_id(int section_nr)
static inline int base_memory_block_id(unsigned long section_nr)
{
return section_nr / sections_per_block;
}
Expand Down Expand Up @@ -131,9 +131,9 @@ static ssize_t phys_index_show(struct device *dev,
static ssize_t removable_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
unsigned long i, pfn;
int ret = 1;
struct memory_block *mem = to_memory_block(dev);
unsigned long pfn;
int ret = 1, i;

if (mem->state != MEM_ONLINE)
goto out;
Expand Down Expand Up @@ -691,15 +691,15 @@ static int init_memory_block(struct memory_block **memory, int block_id,
return ret;
}

static int add_memory_block(int base_section_nr)
static int add_memory_block(unsigned long base_section_nr)
{
int ret, section_count = 0;
struct memory_block *mem;
int i, ret, section_count = 0;
unsigned long nr;

for (i = base_section_nr;
i < base_section_nr + sections_per_block;
i++)
if (present_section_nr(i))
for (nr = base_section_nr; nr < base_section_nr + sections_per_block;
nr++)
if (present_section_nr(nr))
section_count++;

if (section_count == 0)
Expand Down Expand Up @@ -822,10 +822,9 @@ static const struct attribute_group *memory_root_attr_groups[] = {
*/
int __init memory_dev_init(void)
{
unsigned int i;
int ret;
int err;
unsigned long block_sz;
unsigned long block_sz, nr;

ret = subsys_system_register(&memory_subsys, memory_root_attr_groups);
if (ret)
Expand All @@ -839,9 +838,9 @@ int __init memory_dev_init(void)
* during boot and have been initialized
*/
mutex_lock(&mem_sysfs_mutex);
for (i = 0; i <= __highest_present_section_nr;
i += sections_per_block) {
err = add_memory_block(i);
for (nr = 0; nr <= __highest_present_section_nr;
nr += sections_per_block) {
err = add_memory_block(nr);
if (!ret)
ret = err;
}
Expand Down
4 changes: 2 additions & 2 deletions include/linux/mmzone.h
Original file line number Diff line number Diff line change
Expand Up @@ -1219,7 +1219,7 @@ static inline struct mem_section *__nr_to_section(unsigned long nr)
return NULL;
return &mem_section[SECTION_NR_TO_ROOT(nr)][nr & SECTION_ROOT_MASK];
}
extern int __section_nr(struct mem_section* ms);
extern unsigned long __section_nr(struct mem_section *ms);
extern unsigned long usemap_size(void);

/*
Expand Down Expand Up @@ -1291,7 +1291,7 @@ static inline struct mem_section *__pfn_to_section(unsigned long pfn)
return __nr_to_section(pfn_to_section_nr(pfn));
}

extern int __highest_present_section_nr;
extern unsigned long __highest_present_section_nr;

#ifndef CONFIG_HAVE_ARCH_PFN_VALID
static inline int pfn_valid(unsigned long pfn)
Expand Down
12 changes: 6 additions & 6 deletions mm/sparse.c
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ static inline int sparse_index_init(unsigned long section_nr, int nid)
#endif

#ifdef CONFIG_SPARSEMEM_EXTREME
int __section_nr(struct mem_section* ms)
unsigned long __section_nr(struct mem_section *ms)
{
unsigned long root_nr;
struct mem_section *root = NULL;
Expand All @@ -121,9 +121,9 @@ int __section_nr(struct mem_section* ms)
return (root_nr * SECTIONS_PER_ROOT) + (ms - root);
}
#else
int __section_nr(struct mem_section* ms)
unsigned long __section_nr(struct mem_section *ms)
{
return (int)(ms - mem_section[0]);
return (unsigned long)(ms - mem_section[0]);
}
#endif

Expand Down Expand Up @@ -178,18 +178,18 @@ void __meminit mminit_validate_memmodel_limits(unsigned long *start_pfn,
* Keeping track of this gives us an easy way to break out of
* those loops early.
*/
int __highest_present_section_nr;
unsigned long __highest_present_section_nr;
static void section_mark_present(struct mem_section *ms)
{
int section_nr = __section_nr(ms);
unsigned long section_nr = __section_nr(ms);

if (section_nr > __highest_present_section_nr)
__highest_present_section_nr = section_nr;

ms->section_mem_map |= SECTION_MARKED_PRESENT;
}

static inline int next_present_section_nr(int section_nr)
static inline unsigned long next_present_section_nr(unsigned long section_nr)
{
do {
section_nr++;
Expand Down

0 comments on commit 2491f0a

Please sign in to comment.