s390/memory hotplug,sclp: get rid of per memory increment usecount
authorHeiko Carstens <heiko.carstens@de.ibm.com>
Thu, 2 May 2013 07:20:30 +0000 (09:20 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Thu, 2 May 2013 13:50:28 +0000 (15:50 +0200)
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: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/char/sclp_cmd.c

index 178836e..bf07c3a 100644 (file)
@@ -345,7 +345,6 @@ struct memory_increment {
        struct list_head list;
        u16 rn;
        int standby;
-       int usecount;
 };
 
 struct assign_storage_sccb {
@@ -463,21 +462,10 @@ 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) {