Skip to content

Commit 6f76592

Browse files
oberparAlexander Gordeev
authored andcommitted
s390/cio: log fake IRB events
Add traces when queueing and delivering fake IRBs. These are significant events that might have an impact on device driver processing and are therefore relevant for problem analysis. Reviewed-by: Vineeth Vijayan <[email protected]> Signed-off-by: Peter Oberparleiter <[email protected]> Signed-off-by: Alexander Gordeev <[email protected]>
1 parent 2d8527f commit 6f76592

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

drivers/s390/cio/device_fsm.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -504,6 +504,11 @@ void ccw_device_verify_done(struct ccw_device *cdev, int err)
504504
ccw_device_done(cdev, DEV_STATE_ONLINE);
505505
/* Deliver fake irb to device driver, if needed. */
506506
if (cdev->private->flags.fake_irb) {
507+
CIO_MSG_EVENT(2, "fakeirb: deliver device 0.%x.%04x intparm %lx type=%d\n",
508+
cdev->private->dev_id.ssid,
509+
cdev->private->dev_id.devno,
510+
cdev->private->intparm,
511+
cdev->private->flags.fake_irb);
507512
create_fake_irb(&cdev->private->dma_area->irb,
508513
cdev->private->flags.fake_irb);
509514
cdev->private->flags.fake_irb = 0;

drivers/s390/cio/device_ops.c

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,10 @@ int ccw_device_start_timeout_key(struct ccw_device *cdev, struct ccw1 *cpa,
208208
if (!cdev->private->flags.fake_irb) {
209209
cdev->private->flags.fake_irb = FAKE_CMD_IRB;
210210
cdev->private->intparm = intparm;
211+
CIO_MSG_EVENT(2, "fakeirb: queue device 0.%x.%04x intparm %lx type=%d\n",
212+
cdev->private->dev_id.ssid,
213+
cdev->private->dev_id.devno, intparm,
214+
cdev->private->flags.fake_irb);
211215
return 0;
212216
} else
213217
/* There's already a fake I/O around. */
@@ -551,6 +555,10 @@ int ccw_device_tm_start_timeout_key(struct ccw_device *cdev, struct tcw *tcw,
551555
if (!cdev->private->flags.fake_irb) {
552556
cdev->private->flags.fake_irb = FAKE_TM_IRB;
553557
cdev->private->intparm = intparm;
558+
CIO_MSG_EVENT(2, "fakeirb: queue device 0.%x.%04x intparm %lx type=%d\n",
559+
cdev->private->dev_id.ssid,
560+
cdev->private->dev_id.devno, intparm,
561+
cdev->private->flags.fake_irb);
554562
return 0;
555563
} else
556564
/* There's already a fake I/O around. */

0 commit comments

Comments
 (0)