@@ -378,7 +378,7 @@ impl Job::ver {
378378 Some ( work. get_fence ( ) )
379379 } else {
380380 pr_err ! (
381- "WorkQueue: Cannot submit, but queue is empty? {} > {}, {} > {} (pend={} ls={:#x?} lc={:#x?}) ev={:#x?}\n " ,
381+ "WorkQueue: Cannot submit, but queue is empty? {} > {}, {} > {} (pend={} ls={:#x?} lc={:#x?}) ev={:#x?} cur={:#x?} slot {:?} \n " ,
382382 inner. free_slots( ) ,
383383 self . event_count,
384384 inner. free_space( ) ,
@@ -387,6 +387,8 @@ impl Job::ver {
387387 inner. last_submitted,
388388 inner. last_completed,
389389 inner. event. as_ref( ) . map( |a| a. 1 ) ,
390+ inner. event. as_ref( ) . map( |a| a. 0 . current( ) ) ,
391+ inner. event. as_ref( ) . map( |a| a. 0 . slot( ) ) ,
390392 ) ;
391393 None
392394 }
@@ -439,6 +441,16 @@ impl Job::ver {
439441 inner. pending . reserve ( command_count, GFP_KERNEL ) ?;
440442
441443 inner. last_submitted = inner. event . as_ref ( ) . map ( |e| e. 1 ) ;
444+ mod_dev_dbg ! (
445+ inner. dev,
446+ "WorkQueue: submitting {} cmds at {:#x?}, lc {:#x?}, cur {:#x?}, pending {}, events {}\n " ,
447+ self . pending. len( ) ,
448+ inner. last_submitted,
449+ inner. last_completed,
450+ inner. event. as_ref( ) . map( |a| a. 0 . current( ) ) ,
451+ inner. pending. len( ) ,
452+ self . event_count,
453+ ) ;
442454
443455 for mut command in self . pending . drain ( ..) {
444456 command. set_wptr ( wptr) ;
@@ -514,6 +526,13 @@ impl Drop for Job::ver {
514526 mod_pr_debug ! ( "WorkQueue: Dropping Job\n " ) ;
515527 let mut inner = self . wq . inner . lock ( ) ;
516528
529+ if !self . committed {
530+ pr_info ! (
531+ "WorkQueue: Dropping uncommitted job with {} events\n " ,
532+ self . event_count
533+ ) ;
534+ }
535+
517536 if self . committed && !self . submitted {
518537 let pipe_type = inner. pipe_type ;
519538 let event = inner. event . as_mut ( ) . expect ( "Job lost its event" ) ;
@@ -732,7 +751,12 @@ impl WorkQueue::ver {
732751
733752 let ev = & inner. event . as_ref ( ) . unwrap ( ) ;
734753
735- mod_pr_debug ! ( "WorkQueue({:?}): New job\n " , inner. pipe_type) ;
754+ mod_pr_debug ! (
755+ "WorkQueue({:?}): New job at value {:#x?} slot {}\n " ,
756+ inner. pipe_type,
757+ ev. 1 ,
758+ ev. 0 . slot( )
759+ ) ;
736760 Ok ( Job :: ver {
737761 wq : self . clone ( ) ,
738762 event_info : QueueEventInfo :: ver {
@@ -876,9 +900,12 @@ impl WorkQueue for WorkQueue::ver {
876900 }
877901
878902 mod_pr_debug ! (
879- "WorkQueue({:?}): Completed {} commands\n " ,
903+ "WorkQueue({:?}): Completed {} commands, left pending {}, ls {:#x?}, lc {:#x?} \n " ,
880904 inner. pipe_type,
881- completed_commands
905+ completed_commands,
906+ inner. pending. len( ) ,
907+ inner. last_submitted,
908+ inner. last_completed,
882909 ) ;
883910
884911 if let Some ( i) = completed. last ( ) {
0 commit comments