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