| From | Tom Talpey <> | Subject | RE: [[PATCH v1] 14/37] [CIFS] SMBD: Post a SMBD data transfer message with page payload | Date | Mon, 14 Aug 2017 20:23:13 +0000 |
| |
> -----Original Message----- > From: linux-cifs-owner@vger.kernel.org [mailto:linux-cifs- > owner@vger.kernel.org] On Behalf Of Long Li > Sent: Wednesday, August 2, 2017 4:10 PM > To: Steve French <sfrench@samba.org>; linux-cifs@vger.kernel.org; samba- > technical@lists.samba.org; linux-kernel@vger.kernel.org > Cc: Long Li <longli@microsoft.com> > Subject: [[PATCH v1] 14/37] [CIFS] SMBD: Post a SMBD data transfer message > with page payload > > /* > + * Send a page > + * page: the page to send > + * offset: offset in the page to send > + * size: length in the page to send > + * remaining_data_length: remaining data to send in this payload > + */ > +static int cifs_rdma_post_send_page(struct cifs_rdma_info *info, struct page > *page, > + unsigned long offset, size_t size, int remaining_data_length) > +{ >... > + wait_event(info->wait_send_queue, atomic_read(&info->send_credits) > > 0);
This is an uninterruptible wait, correct? What's to guarantee the event will ever fire? Also, if the count is zero, there should be a check that an SMB Direct credit request is outstanding. If not, it's wasteful to sleep for the keepalive timer to do so.
Tom.
|