[S390] cio: increase trace level
authorSebastian Ott <sebott@linux.vnet.ibm.com>
Fri, 11 Sep 2009 08:28:18 +0000 (10:28 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Fri, 11 Sep 2009 08:29:37 +0000 (10:29 +0200)
Move debug traces for start I/O and interrupt events to exclusive
trace levels. Also change tracing in hot-path from sprintf (costly)
to hex.

Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
drivers/s390/cio/cio.c
drivers/s390/cio/device.c

index 5ec7789bd9d84a0ab171d75d66315f4bce8e4b9c..390b4e96fd0d1d6085cac76e7d1b5857036c34e1 100644 (file)
@@ -139,12 +139,11 @@ cio_start_key (struct subchannel *sch,    /* subchannel structure */
               __u8 lpm,                /* logical path mask */
               __u8 key)                /* storage key */
 {
-       char dbf_txt[15];
        int ccode;
        union orb *orb;
 
-       CIO_TRACE_EVENT(4, "stIO");
-       CIO_TRACE_EVENT(4, dev_name(&sch->dev));
+       CIO_TRACE_EVENT(5, "stIO");
+       CIO_TRACE_EVENT(5, dev_name(&sch->dev));
 
        orb = &to_io_private(sch)->orb;
        memset(orb, 0, sizeof(union orb));
@@ -169,8 +168,7 @@ cio_start_key (struct subchannel *sch,      /* subchannel structure */
        ccode = ssch(sch->schid, orb);
 
        /* process condition code */
-       sprintf(dbf_txt, "ccode:%d", ccode);
-       CIO_TRACE_EVENT(4, dbf_txt);
+       CIO_HEX_EVENT(5, &ccode, sizeof(ccode));
 
        switch (ccode) {
        case 0:
@@ -201,16 +199,14 @@ cio_start (struct subchannel *sch, struct ccw1 *cpa, __u8 lpm)
 int
 cio_resume (struct subchannel *sch)
 {
-       char dbf_txt[15];
        int ccode;
 
-       CIO_TRACE_EVENT (4, "resIO");
+       CIO_TRACE_EVENT(4, "resIO");
        CIO_TRACE_EVENT(4, dev_name(&sch->dev));
 
        ccode = rsch (sch->schid);
 
-       sprintf (dbf_txt, "ccode:%d", ccode);
-       CIO_TRACE_EVENT (4, dbf_txt);
+       CIO_HEX_EVENT(4, &ccode, sizeof(ccode));
 
        switch (ccode) {
        case 0:
@@ -235,13 +231,12 @@ cio_resume (struct subchannel *sch)
 int
 cio_halt(struct subchannel *sch)
 {
-       char dbf_txt[15];
        int ccode;
 
        if (!sch)
                return -ENODEV;
 
-       CIO_TRACE_EVENT (2, "haltIO");
+       CIO_TRACE_EVENT(2, "haltIO");
        CIO_TRACE_EVENT(2, dev_name(&sch->dev));
 
        /*
@@ -249,8 +244,7 @@ cio_halt(struct subchannel *sch)
         */
        ccode = hsch (sch->schid);
 
-       sprintf (dbf_txt, "ccode:%d", ccode);
-       CIO_TRACE_EVENT (2, dbf_txt);
+       CIO_HEX_EVENT(2, &ccode, sizeof(ccode));
 
        switch (ccode) {
        case 0:
@@ -270,13 +264,12 @@ cio_halt(struct subchannel *sch)
 int
 cio_clear(struct subchannel *sch)
 {
-       char dbf_txt[15];
        int ccode;
 
        if (!sch)
                return -ENODEV;
 
-       CIO_TRACE_EVENT (2, "clearIO");
+       CIO_TRACE_EVENT(2, "clearIO");
        CIO_TRACE_EVENT(2, dev_name(&sch->dev));
 
        /*
@@ -284,8 +277,7 @@ cio_clear(struct subchannel *sch)
         */
        ccode = csch (sch->schid);
 
-       sprintf (dbf_txt, "ccode:%d", ccode);
-       CIO_TRACE_EVENT (2, dbf_txt);
+       CIO_HEX_EVENT(2, &ccode, sizeof(ccode));
 
        switch (ccode) {
        case 0:
@@ -306,19 +298,17 @@ cio_clear(struct subchannel *sch)
 int
 cio_cancel (struct subchannel *sch)
 {
-       char dbf_txt[15];
        int ccode;
 
        if (!sch)
                return -ENODEV;
 
-       CIO_TRACE_EVENT (2, "cancelIO");
+       CIO_TRACE_EVENT(2, "cancelIO");
        CIO_TRACE_EVENT(2, dev_name(&sch->dev));
 
        ccode = xsch (sch->schid);
 
-       sprintf (dbf_txt, "ccode:%d", ccode);
-       CIO_TRACE_EVENT (2, dbf_txt);
+       CIO_HEX_EVENT(2, &ccode, sizeof(ccode));
 
        switch (ccode) {
        case 0:         /* success */
@@ -429,11 +419,10 @@ EXPORT_SYMBOL_GPL(cio_update_schib);
  */
 int cio_enable_subchannel(struct subchannel *sch, u32 intparm)
 {
-       char dbf_txt[15];
        int retry;
        int ret;
 
-       CIO_TRACE_EVENT (2, "ensch");
+       CIO_TRACE_EVENT(2, "ensch");
        CIO_TRACE_EVENT(2, dev_name(&sch->dev));
 
        if (sch_is_pseudo_sch(sch))
@@ -460,8 +449,7 @@ int cio_enable_subchannel(struct subchannel *sch, u32 intparm)
                } else
                        break;
        }
-       sprintf (dbf_txt, "ret:%d", ret);
-       CIO_TRACE_EVENT (2, dbf_txt);
+       CIO_HEX_EVENT(2, &ret, sizeof(ret));
        return ret;
 }
 EXPORT_SYMBOL_GPL(cio_enable_subchannel);
@@ -472,11 +460,10 @@ EXPORT_SYMBOL_GPL(cio_enable_subchannel);
  */
 int cio_disable_subchannel(struct subchannel *sch)
 {
-       char dbf_txt[15];
        int retry;
        int ret;
 
-       CIO_TRACE_EVENT (2, "dissch");
+       CIO_TRACE_EVENT(2, "dissch");
        CIO_TRACE_EVENT(2, dev_name(&sch->dev));
 
        if (sch_is_pseudo_sch(sch))
@@ -495,8 +482,7 @@ int cio_disable_subchannel(struct subchannel *sch)
                } else
                        break;
        }
-       sprintf (dbf_txt, "ret:%d", ret);
-       CIO_TRACE_EVENT (2, dbf_txt);
+       CIO_HEX_EVENT(2, &ret, sizeof(ret));
        return ret;
 }
 EXPORT_SYMBOL_GPL(cio_disable_subchannel);
index b6240227ecbaadad777b0d7d576e3f62f2f2976e..19b4469a3ca4782b93cd2a24004c8bca734d0df7 100644 (file)
@@ -1168,8 +1168,8 @@ static void io_subchannel_irq(struct subchannel *sch)
 
        cdev = sch_get_cdev(sch);
 
-       CIO_TRACE_EVENT(3, "IRQ");
-       CIO_TRACE_EVENT(3, dev_name(&sch->dev));
+       CIO_TRACE_EVENT(6, "IRQ");
+       CIO_TRACE_EVENT(6, dev_name(&sch->dev));
        if (cdev)
                dev_fsm_event(cdev, DEV_EVENT_INTERRUPT);
 }