Re: [PATCH v1 1/6] mm: Section numbers use the type "unsigned long"

Andrew Morton
2019-06-14T19:00:40Z

On Fri, 14 Jun 2019 12:01:09 +0200 David Hildenbrand <david@redhat.com> wrote:

> 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.
>
> ...
>
> - int i, ret, section_count = 0;
> + unsigned long i;
>
> ...
>
> - unsigned int i;
> + unsigned long i;

Maybe I did too much fortran back in the day, but I think the
expectation is that a variable called "i" has type "int".

This?

s/unsigned long i/unsigned long section_nr/

--- a/drivers/base/memory.c~mm-section-numbers-use-the-type-unsigned-long-fix
+++ a/drivers/base/memory.c
@@ -131,17 +131,17 @@ static ssize_t phys_index_show(struct de
static ssize_t removable_show(struct device *dev, struct device_attribute *attr,
char *buf)
{
- unsigned long i, pfn;
+ unsigned long section_nr, pfn;
int ret = 1;
struct memory_block *mem = to_memory_block(dev);

if (mem->state != MEM_ONLINE)
goto out;

- for (i = 0; i < sections_per_block; i++) {
- if (!present_section_nr(mem->start_section_nr + i))
+ for (section_nr = 0; section_nr < sections_per_block; section_nr++) {
+ if (!present_section_nr(mem->start_section_nr + section_nr))
continue;
- pfn = section_nr_to_pfn(mem->start_section_nr + i);
+ pfn = section_nr_to_pfn(mem->start_section_nr + section_nr);
ret &= is_mem_section_removable(pfn, PAGES_PER_SECTION);
}

@@ -695,12 +695,12 @@ static int add_memory_block(unsigned lon
{
int ret, section_count = 0;
struct memory_block *mem;
- unsigned long i;
+ unsigned long section_nr;

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

if (section_count == 0)
@@ -823,7 +823,7 @@ static const struct attribute_group *mem
*/
int __init memory_dev_init(void)
{
- unsigned long i;
+ unsigned long section_nr;
int ret;
int err;
unsigned long block_sz;
@@ -840,9 +840,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 (section_nr = 0; section_nr <= __highest_present_section_nr;
+ section_nr += sections_per_block) {
+ err = add_memory_block(section_nr);
if (!ret)
ret = err;
}
_