@@ -379,7 +379,7 @@ impl Job::ver {
379379 Some ( work. get_fence ( ) )
380380 } else {
381381 pr_err ! (
382- "WorkQueue: Cannot submit, but queue is empty? {} > {}, {} > {} (pend={} ls={:#x?} lc={:#x?}) ev={:#x?}\n " ,
382+ "WorkQueue: Cannot submit, but queue is empty? {} > {}, {} > {} (pend={} ls={:#x?} lc={:#x?}) ev={:#x?} cur={:#x?} slot {:?} \n " ,
383383 inner. free_slots( ) ,
384384 self . event_count,
385385 inner. free_space( ) ,
@@ -388,6 +388,8 @@ impl Job::ver {
388388 inner. last_submitted,
389389 inner. last_completed,
390390 inner. event. as_ref( ) . map( |a| a. 1 ) ,
391+ inner. event. as_ref( ) . map( |a| a. 0 . current( ) ) ,
392+ inner. event. as_ref( ) . map( |a| a. 0 . slot( ) ) ,
391393 ) ;
392394 None
393395 }
@@ -440,6 +442,16 @@ impl Job::ver {
440442 inner. pending . reserve ( command_count, GFP_KERNEL ) ?;
441443
442444 inner. last_submitted = inner. event . as_ref ( ) . map ( |e| e. 1 ) ;
445+ mod_dev_dbg ! (
446+ inner. dev,
447+ "WorkQueue: submitting {} cmds at {:#x?}, lc {:#x?}, cur {:#x?}, pending {}, events {}\n " ,
448+ self . pending. len( ) ,
449+ inner. last_submitted,
450+ inner. last_completed,
451+ inner. event. as_ref( ) . map( |a| a. 0 . current( ) ) ,
452+ inner. pending. len( ) ,
453+ self . event_count,
454+ ) ;
443455
444456 for mut command in self . pending . drain ( ..) {
445457 command. set_wptr ( wptr) ;
@@ -515,6 +527,13 @@ impl Drop for Job::ver {
515527 mod_pr_debug ! ( "WorkQueue: Dropping Job\n " ) ;
516528 let mut inner = self . wq . inner . lock ( ) ;
517529
530+ if !self . committed {
531+ pr_info ! (
532+ "WorkQueue: Dropping uncommitted job with {} events\n " ,
533+ self . event_count
534+ ) ;
535+ }
536+
518537 if self . committed && !self . submitted {
519538 let pipe_type = inner. pipe_type ;
520539 let event = inner. event . as_mut ( ) . expect ( "Job lost its event" ) ;
@@ -733,7 +752,12 @@ impl WorkQueue::ver {
733752
734753 let ev = & inner. event . as_ref ( ) . unwrap ( ) ;
735754
736- mod_pr_debug ! ( "WorkQueue({:?}): New job\n " , inner. pipe_type) ;
755+ mod_pr_debug ! (
756+ "WorkQueue({:?}): New job at value {:#x?} slot {}\n " ,
757+ inner. pipe_type,
758+ ev. 1 ,
759+ ev. 0 . slot( )
760+ ) ;
737761 Ok ( Job :: ver {
738762 wq : self . clone ( ) ,
739763 event_info : QueueEventInfo :: ver {
@@ -877,9 +901,12 @@ impl WorkQueue for WorkQueue::ver {
877901 }
878902
879903 mod_pr_debug ! (
880- "WorkQueue({:?}): Completed {} commands\n " ,
904+ "WorkQueue({:?}): Completed {} commands, left pending {}, ls {:#x?}, lc {:#x?} \n " ,
881905 inner. pipe_type,
882- completed_commands
906+ completed_commands,
907+ inner. pending. len( ) ,
908+ inner. last_submitted,
909+ inner. last_completed,
883910 ) ;
884911
885912 if let Some ( i) = completed. last ( ) {
0 commit comments