list_for_each(tmp1, &cifs_tcp_ses_list) {
                        server = list_entry(tmp1, struct TCP_Server_Info,
                                            tcp_ses_list);
+                       server->max_in_flight = 0;
 #ifdef CONFIG_CIFS_STATS2
                        for (i = 0; i < NUMBER_OF_SMB2_COMMANDS; i++) {
                                atomic_set(&server->num_cmds[i], 0);
        list_for_each(tmp1, &cifs_tcp_ses_list) {
                server = list_entry(tmp1, struct TCP_Server_Info,
                                    tcp_ses_list);
+               seq_printf(m, "\nMax requests in flight: %d", server->max_in_flight);
 #ifdef CONFIG_CIFS_STATS2
                seq_puts(m, "\nTotal time spent processing by command. Time ");
                seq_printf(m, "units are jiffies (%d per second)\n", HZ);
 
        unsigned int credits;  /* send no more requests at once */
        unsigned int max_credits; /* can override large 32000 default at mnt */
        unsigned int in_flight;  /* number of requests on the wire to server */
+       unsigned int max_in_flight; /* max number of requests that were on wire */
        spinlock_t req_lock;  /* protect the two values above */
        struct mutex srv_mutex;
        struct task_struct *tsk;
 
        tcp_ses->tcp_nodelay = volume_info->sockopt_tcp_nodelay;
        tcp_ses->rdma = volume_info->rdma;
        tcp_ses->in_flight = 0;
+       tcp_ses->max_in_flight = 0;
        tcp_ses->credits = 1;
        init_waitqueue_head(&tcp_ses->response_q);
        init_waitqueue_head(&tcp_ses->request_q);
 
                        credits->instance = server->reconnect_instance;
                        server->credits -= credits->value;
                        server->in_flight++;
+                       if (server->in_flight > server->max_in_flight)
+                               server->max_in_flight = server->in_flight;
                        break;
                }
        }
 
        if ((flags & CIFS_TIMEOUT_MASK) == CIFS_NON_BLOCKING) {
                /* oplock breaks must not be held up */
                server->in_flight++;
+               if (server->in_flight > server->max_in_flight)
+                       server->max_in_flight = server->in_flight;
                *credits -= 1;
                *instance = server->reconnect_instance;
                spin_unlock(&server->req_lock);
                        if ((flags & CIFS_TIMEOUT_MASK) != CIFS_BLOCKING_OP) {
                                *credits -= num_credits;
                                server->in_flight += num_credits;
+                               if (server->in_flight > server->max_in_flight)
+                                       server->max_in_flight = server->in_flight;
                                *instance = server->reconnect_instance;
                        }
                        spin_unlock(&server->req_lock);