Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

s390/qdio: eliminate queue's last_move cursor

This cursor is used for debugging only. But since
commit "s390/qdio: pass up count of ready-to-process SBALs" it effectively
duplicates the first_to_check cursor, diverging for just a short moment
when get_*_buffer_frontier() updates q->first_to_check.

Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
Reviewed-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>

authored by

Julian Wiedmann and committed by
Martin Schwidefsky
dccbbaff 65e4f776

+5 -14
-3
drivers/s390/cio/qdio.h
··· 228 228 */ 229 229 int first_to_check; 230 230 231 - /* first_to_check of the last time */ 232 - int last_move; 233 - 234 231 /* beginning position for calling the program */ 235 232 int first_to_kick; 236 233
+2 -3
drivers/s390/cio/qdio_debug.c
··· 121 121 122 122 seq_printf(m, "Timestamp: %Lx Last AI: %Lx\n", 123 123 q->timestamp, last_ai_time); 124 - seq_printf(m, "nr_used: %d ftc: %d last_move: %d\n", 125 - atomic_read(&q->nr_buf_used), 126 - q->first_to_check, q->last_move); 124 + seq_printf(m, "nr_used: %d ftc: %d\n", 125 + atomic_read(&q->nr_buf_used), q->first_to_check); 127 126 if (q->is_input_q) { 128 127 seq_printf(m, "polling: %d ack start: %d ack count: %d\n", 129 128 q->u.in.polling, q->u.in.ack_start,
+3 -8
drivers/s390/cio/qdio_main.c
··· 551 551 552 552 count = get_inbound_buffer_frontier(q); 553 553 554 - if (count) { 555 - q->last_move = q->first_to_check; 556 - if (!is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR) 557 - q->u.in.timestamp = get_tod_clock(); 558 - } 554 + if (count && !is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR) 555 + q->u.in.timestamp = get_tod_clock(); 559 556 560 557 return count; 561 558 } ··· 777 780 778 781 count = get_outbound_buffer_frontier(q); 779 782 780 - if (count) { 781 - q->last_move = q->first_to_check; 783 + if (count) 782 784 DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "out moved:%1d", q->nr); 783 - } 784 785 785 786 return count; 786 787 }