Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+2 −18
Original line number Diff line number Diff line
@@ -345,7 +345,6 @@ struct memory_increment {
	struct list_head list;
	u16 rn;
	int standby;
	int usecount;
};

struct assign_storage_sccb {
@@ -463,22 +462,11 @@ static int sclp_mem_change_state(unsigned long start, unsigned long size,
			break;
		if (start > istart + rzm - 1)
			continue;
		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.
			 */
		if (online)
			rc |= sclp_assign_storage(incr->rn);
		} else {
			if (--incr->usecount)
				continue;
		else
			sclp_unassign_storage(incr->rn);
	}
	}
	return rc ? -EIO : 0;
}

@@ -561,8 +549,6 @@ static void __init sclp_add_standby_memory(void)
	add_memory_merged(0);
}

#define MEM_SCT_SIZE (1UL << SECTION_SIZE_BITS)

static void __init insert_increment(u16 rn, int standby, int assigned)
{
	struct memory_increment *incr, *new_incr;
@@ -574,8 +560,6 @@ static void __init insert_increment(u16 rn, int standby, int assigned)
		return;
	new_incr->rn = rn;
	new_incr->standby = standby;
	if (!standby)
		new_incr->usecount = rzm > MEM_SCT_SIZE ? rzm/MEM_SCT_SIZE : 1;
	last_rn = 0;
	prev = &sclp_mem_list;
	list_for_each_entry(incr, &sclp_mem_list, list) {