aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/chp.c
diff options
context:
space:
mode:
authorPeter Oberparleiter <peter.oberparleiter@de.ibm.com>2007-04-27 10:01:34 -0400
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2007-04-27 10:01:40 -0400
commit83b3370c79b91b9be3f6540c3c914e689134b45f (patch)
treead7c062b260c0259c74e45ff869208c1ad139629 /drivers/s390/cio/chp.c
parent387b734fc2b55f776b192c7afdfd892ba42347d4 (diff)
[S390] cio: replace subchannel evaluation queue with bitmap
Use a bitmap for indicating which subchannels require evaluation instead of allocating memory for each evaluation request. This approach reduces memory consumption during recovery in case of massive evaluation request occurrence and removes the need for memory allocation failure handling. Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/chp.c')
-rw-r--r--drivers/s390/cio/chp.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/s390/cio/chp.c b/drivers/s390/cio/chp.c
index 0e92c8c89860..ac289e6eadfe 100644
--- a/drivers/s390/cio/chp.c
+++ b/drivers/s390/cio/chp.c
@@ -491,7 +491,7 @@ void *chp_get_chp_desc(struct chp_id chpid)
491 * Handle channel-report-words indicating that the status of a channel-path 491 * Handle channel-report-words indicating that the status of a channel-path
492 * has changed. 492 * has changed.
493 */ 493 */
494int chp_process_crw(int id, int status) 494void chp_process_crw(int id, int status)
495{ 495{
496 struct chp_id chpid; 496 struct chp_id chpid;
497 497
@@ -500,11 +500,9 @@ int chp_process_crw(int id, int status)
500 if (status) { 500 if (status) {
501 if (!chp_is_registered(chpid)) 501 if (!chp_is_registered(chpid))
502 chp_new(chpid); 502 chp_new(chpid);
503 return chsc_chp_online(chpid); 503 chsc_chp_online(chpid);
504 } else { 504 } else
505 chsc_chp_offline(chpid); 505 chsc_chp_offline(chpid);
506 return 0;
507 }
508} 506}
509 507
510static inline int info_bit_num(struct chp_id id) 508static inline int info_bit_num(struct chp_id id)