diff options
author | Namjae Jeon <linkinjeon@kernel.org> | 2022-07-28 23:35:18 +0900 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2022-07-31 23:14:32 -0500 |
commit | a14c573870a664386adc10526a6c2648ea56dae1 (patch) | |
tree | b7d174950764bbaa0a81d0c927ef27d73b6db7cd /fs/ksmbd/connection.h | |
parent | 17ea92a9f6d0b9a97aaec5ab748e4591d70a562c (diff) |
ksmbd: use wait_event instead of schedule_timeout()
ksmbd threads eating masses of cputime when connection is disconnected.
If connection is disconnected, ksmbd thread waits for pending requests
to be processed using schedule_timeout. schedule_timeout() incorrectly
is used, and it is more efficient to use wait_event/wake_up than to check
r_count every time with timeout.
Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Reviewed-by: Hyunchul Lee <hyc.lee@gmail.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/ksmbd/connection.h')
-rw-r--r-- | fs/ksmbd/connection.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/ksmbd/connection.h b/fs/ksmbd/connection.h index 5b39f0bdeff8..2e4730457c92 100644 --- a/fs/ksmbd/connection.h +++ b/fs/ksmbd/connection.h @@ -65,6 +65,7 @@ struct ksmbd_conn { unsigned int outstanding_credits; spinlock_t credits_lock; wait_queue_head_t req_running_q; + wait_queue_head_t r_count_q; /* Lock to protect requests list*/ spinlock_t request_lock; struct list_head requests; |