Commit 15535560 authored by Heiko Carstens's avatar Heiko Carstens Committed by Martin Schwidefsky

s390/memory hotplug,sclp: get rid of per memory increment usecount

Given that the memory block size is always larger or equal to
the memory increment size there is no need for a usecount anymore.
Each memory increment belongs to exactly one memory block.
So get rid of the usecount.
Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent e5d709bb
...@@ -345,7 +345,6 @@ struct memory_increment { ...@@ -345,7 +345,6 @@ struct memory_increment {
struct list_head list; struct list_head list;
u16 rn; u16 rn;
int standby; int standby;
int usecount;
}; };
struct assign_storage_sccb { struct assign_storage_sccb {
...@@ -463,22 +462,11 @@ static int sclp_mem_change_state(unsigned long start, unsigned long size, ...@@ -463,22 +462,11 @@ static int sclp_mem_change_state(unsigned long start, unsigned long size,
break; break;
if (start > istart + rzm - 1) if (start > istart + rzm - 1)
continue; continue;
if (online) { if (online)
if (incr->usecount++)
continue;
/*
* Don't break the loop if one assign fails. Loop may
* be walked again on CANCEL and we can't save
* information if state changed before or not.
* So continue and increase usecount for all increments.
*/
rc |= sclp_assign_storage(incr->rn); rc |= sclp_assign_storage(incr->rn);
} else { else
if (--incr->usecount)
continue;
sclp_unassign_storage(incr->rn); sclp_unassign_storage(incr->rn);
} }
}
return rc ? -EIO : 0; return rc ? -EIO : 0;
} }
...@@ -561,8 +549,6 @@ static void __init sclp_add_standby_memory(void) ...@@ -561,8 +549,6 @@ static void __init sclp_add_standby_memory(void)
add_memory_merged(0); add_memory_merged(0);
} }
#define MEM_SCT_SIZE (1UL << SECTION_SIZE_BITS)
static void __init insert_increment(u16 rn, int standby, int assigned) static void __init insert_increment(u16 rn, int standby, int assigned)
{ {
struct memory_increment *incr, *new_incr; struct memory_increment *incr, *new_incr;
...@@ -574,8 +560,6 @@ static void __init insert_increment(u16 rn, int standby, int assigned) ...@@ -574,8 +560,6 @@ static void __init insert_increment(u16 rn, int standby, int assigned)
return; return;
new_incr->rn = rn; new_incr->rn = rn;
new_incr->standby = standby; new_incr->standby = standby;
if (!standby)
new_incr->usecount = rzm > MEM_SCT_SIZE ? rzm/MEM_SCT_SIZE : 1;
last_rn = 0; last_rn = 0;
prev = &sclp_mem_list; prev = &sclp_mem_list;
list_for_each_entry(incr, &sclp_mem_list, list) { list_for_each_entry(incr, &sclp_mem_list, list) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment