1
0
Fork 0

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>
hifive-unleashed-5.2
Julian Wiedmann 2019-03-28 10:45:11 +01:00 committed by Martin Schwidefsky
parent 65e4f77638
commit dccbbaff17
3 changed files with 5 additions and 14 deletions

View File

@ -228,9 +228,6 @@ struct qdio_q {
*/
int first_to_check;
/* first_to_check of the last time */
int last_move;
/* beginning position for calling the program */
int first_to_kick;

View File

@ -121,9 +121,8 @@ static int qstat_show(struct seq_file *m, void *v)
seq_printf(m, "Timestamp: %Lx Last AI: %Lx\n",
q->timestamp, last_ai_time);
seq_printf(m, "nr_used: %d ftc: %d last_move: %d\n",
atomic_read(&q->nr_buf_used),
q->first_to_check, q->last_move);
seq_printf(m, "nr_used: %d ftc: %d\n",
atomic_read(&q->nr_buf_used), q->first_to_check);
if (q->is_input_q) {
seq_printf(m, "polling: %d ack start: %d ack count: %d\n",
q->u.in.polling, q->u.in.ack_start,

View File

@ -551,11 +551,8 @@ static int qdio_inbound_q_moved(struct qdio_q *q)
count = get_inbound_buffer_frontier(q);
if (count) {
q->last_move = q->first_to_check;
if (!is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR)
q->u.in.timestamp = get_tod_clock();
}
if (count && !is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR)
q->u.in.timestamp = get_tod_clock();
return count;
}
@ -780,10 +777,8 @@ static inline int qdio_outbound_q_moved(struct qdio_q *q)
count = get_outbound_buffer_frontier(q);
if (count) {
q->last_move = q->first_to_check;
if (count)
DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "out moved:%1d", q->nr);
}
return count;
}