git: 8b0101da803d - stable/13 - Restore condition removed in df3747c6607b.
Alexander Motin
mav at FreeBSD.org
Mon Mar 15 02:39:59 UTC 2021
The branch stable/13 has been updated by mav:
URL: https://cgit.FreeBSD.org/src/commit/?id=8b0101da803da44e51697d5076c4782919068de7
commit 8b0101da803da44e51697d5076c4782919068de7
Author: Alexander Motin <mav at FreeBSD.org>
AuthorDate: 2021-03-03 16:58:04 +0000
Commit: Alexander Motin <mav at FreeBSD.org>
CommitDate: 2021-03-15 02:36:13 +0000
Restore condition removed in df3747c6607b.
I think it allowed to avoid some TX thread wakeups while the socket
buffer is full. But add there another options if ic_check_send_space
is set, which means socket just reported that new space appeared, so
it may have sense to pull more data from ic_to_send for better TX
coalescing.
MFC after: 1 week
(cherry picked from commit aff9b9ee894e3e6b6d8c7e4182d6b973804df853)
---
sys/dev/iscsi/icl_soft.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/sys/dev/iscsi/icl_soft.c b/sys/dev/iscsi/icl_soft.c
index d579c034e63f..57ab24defabb 100644
--- a/sys/dev/iscsi/icl_soft.c
+++ b/sys/dev/iscsi/icl_soft.c
@@ -975,7 +975,8 @@ icl_send_thread(void *arg)
* This way the icl_conn_send_pdus() can go through
* all the queued PDUs without holding any locks.
*/
- STAILQ_CONCAT(&queue, &ic->ic_to_send);
+ if (STAILQ_EMPTY(&queue) || ic->ic_check_send_space)
+ STAILQ_CONCAT(&queue, &ic->ic_to_send);
ic->ic_check_send_space = false;
ICL_CONN_UNLOCK(ic);
More information about the dev-commits-src-all
mailing list