[[PATCH v1] 25/37] [CIFS] SMBD: Support SMBD idle connection timer

Long Li longli at microsoft.com
Mon Aug 14 23:29:38 UTC 2017



> -----Original Message-----
> From: Tom Talpey
> Sent: Monday, August 14, 2017 2:12 PM
> To: Long Li <longli at microsoft.com>; Steve French <sfrench at samba.org>;
> linux-cifs at vger.kernel.org; samba-technical at lists.samba.org; linux-
> kernel at vger.kernel.org
> Cc: Long Li <longli at microsoft.com>
> Subject: RE: [[PATCH v1] 25/37] [CIFS] SMBD: Support SMBD idle connection
> timer
> 
> > -----Original Message-----
> > From: linux-cifs-owner at vger.kernel.org [mailto:linux-cifs-
> > owner at vger.kernel.org] On Behalf Of Long Li
> > Sent: Wednesday, August 2, 2017 4:11 PM
> > To: Steve French <sfrench at samba.org>; linux-cifs at vger.kernel.org;
> > samba- technical at lists.samba.org; linux-kernel at vger.kernel.org
> > Cc: Long Li <longli at microsoft.com>
> > Subject: [[PATCH v1] 25/37] [CIFS] SMBD: Support SMBD idle connection
> > timer
> >
> > +static int keep_alive_interval = 120;
> 
> This is the recommended value, but not the only possibility.
> 
> > @@ -1348,6 +1369,10 @@ struct cifs_rdma_info*
> cifs_create_rdma_session(
> >         init_waitqueue_head(&info->wait_send_queue);
> >         init_waitqueue_head(&info->wait_reassembly_queue);
> >
> > +       INIT_DELAYED_WORK(&info->idle_timer_work,
> idle_connection_timer);
> > +       schedule_delayed_work(&info->idle_timer_work,
> > +               info->keep_alive_interval*HZ);
> > +
> 
> This initialization is ok, but the timer should be rescheduled (extended) any
> time any packet is sent. There is no need to perform keepalives on an active
> SMB Direct connection.

My feeling is that rescheduling on a work queue for every packet is sent is not efficient, especially under heavy conditions.

Firing it every 120 seconds doesn't seem to be big waste and may actually save some CPU.

> 
> Tom.



More information about the samba-technical mailing list