Eric Dumazet
ee2aabd3fc
tcp: refine tcp_write_queue_empty() implementation
...
Due to how tcp_sendmsg() is implemented, we can have an empty
skb at the tail of the write queue.
Most [1] tcp_write_queue_empty() callers want to know if there is
anything to send (payload and/or FIN)
Instead of checking if the sk_write_queue is empty, we need
to test if tp->write_seq == tp->snd_nxt
[1] tcp_send_fin() was the only caller that expected to
see if an skb was in the write queue, I have changed the code
to reuse the tcp_write_queue_tail() result.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Neal Cardwell <ncardwell@google.com>
Acked-by: Soheil Hassas Yeganeh <soheil@google.com>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
2019-12-13 21:58:40 -08:00
..
2019-05-30 11:29:21 -07:00
2019-09-05 17:27:21 +02:00
2019-05-30 11:29:22 -07:00
2018-09-26 09:56:07 -07:00
2019-11-20 11:21:34 -08:00
2019-11-21 14:45:55 -08:00
2019-06-19 17:09:07 +02:00
2019-06-05 17:37:07 +02:00
2019-11-25 14:57:26 -08:00
2019-09-16 09:18:03 +02:00
2019-11-12 12:11:22 -08:00
2019-10-07 09:37:27 -04:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-02-28 08:24:23 -07:00
2019-11-14 18:12:18 -08:00
2019-11-06 16:14:48 -08:00
2019-01-23 11:18:00 -08:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:37:53 +02:00
2019-05-21 11:28:40 +02:00
2019-07-04 12:30:48 -07:00
2019-11-05 17:40:16 -08:00
2019-08-17 23:18:54 +02:00
2019-10-30 17:34:35 -07:00
2019-05-21 11:28:45 +02:00
2019-06-19 17:09:55 +02:00
2019-11-22 13:36:25 +01:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 11:28:45 +02:00
2019-05-30 11:26:32 -07:00
2019-04-19 14:07:40 -07:00
2019-05-30 11:29:52 -07:00
2019-05-30 11:29:52 -07:00
2019-11-13 14:24:58 -08:00
2019-05-21 11:52:39 +02:00
2019-05-21 11:52:39 +02:00
2019-08-17 12:40:08 -07:00
2019-11-15 12:32:16 -08:00
2018-03-05 12:52:45 -05:00
2019-07-01 10:48:34 -07:00
2018-05-20 18:31:42 -04:00
2019-06-19 17:09:55 +02:00
2018-05-28 22:59:54 -04:00
2019-10-04 11:10:56 -07:00
2019-10-04 11:10:56 -07:00
2019-12-03 11:55:46 -08:00
2019-12-06 20:45:09 -08:00
2019-02-27 12:50:17 -08:00
2019-11-08 09:11:49 +01:00
2019-10-23 20:13:22 -07:00
2019-11-05 18:20:55 -08:00
2019-10-06 15:44:47 +02:00
2019-03-22 12:09:31 -07:00
2018-12-10 15:53:04 -08:00
2019-07-01 10:58:23 -07:00
2019-10-25 16:24:32 -07:00
2019-05-30 11:26:32 -07:00
2019-02-22 12:56:24 -08:00
2019-05-30 11:26:41 -07:00
2019-08-28 14:43:03 -07:00
2019-04-22 21:50:53 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-03 13:51:54 -07:00
2019-08-31 23:44:28 -07:00
2018-10-17 17:45:07 -07:00
2019-08-08 15:55:10 -07:00
2019-12-13 21:40:49 -08:00
2019-09-13 21:44:19 +02:00
2019-09-27 12:05:02 +02:00
2019-02-08 21:50:15 -08:00
2019-05-30 11:26:32 -07:00
2019-11-21 14:45:55 -08:00
2019-06-27 21:06:39 -07:00
2019-06-18 20:48:45 -04:00
2019-11-21 14:45:55 -08:00
2019-02-27 12:50:17 -08:00
2019-11-02 13:54:56 -07:00
2019-12-07 11:55:11 -08:00
2019-06-19 11:37:47 -04:00
2019-12-04 12:27:13 -08:00
2019-12-04 12:27:12 -08:00
2018-03-27 09:51:23 +02:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2018-07-11 23:10:19 -07:00
2019-10-08 13:23:05 -07:00
2018-09-13 09:04:58 -07:00
2019-04-23 19:42:29 -07:00
2019-11-22 13:36:25 +01:00
2019-05-30 11:26:41 -07:00
2019-05-21 11:28:45 +02:00
2019-06-05 17:36:38 +02:00
2019-06-05 17:36:38 +02:00
2019-11-06 16:14:48 -08:00
2019-12-09 09:48:47 -08:00
2018-05-28 22:59:54 -04:00
2019-11-02 13:54:56 -07:00
2018-08-01 09:52:30 -07:00
2019-05-21 11:28:45 +02:00
2019-08-13 20:37:16 -07:00
2019-11-12 08:18:03 -08:00
2019-04-11 13:59:49 -07:00
2019-09-05 12:35:58 +02:00
2019-11-20 12:34:28 -08:00
2019-05-30 11:26:32 -07:00
2019-08-26 14:17:43 -07:00
2019-09-17 23:51:10 +02:00
2019-05-30 11:26:32 -07:00
2019-09-16 09:18:03 +02:00
2019-05-30 11:26:32 -07:00
2017-12-05 14:37:13 -05:00
2018-08-28 11:11:47 +02:00
2019-10-09 21:34:31 -07:00
2018-05-16 07:23:35 +02:00
2019-11-21 14:45:55 -08:00
2018-03-13 18:37:02 +02:00
2018-11-06 15:00:45 -08:00
2019-04-22 21:47:25 -07:00
2019-11-09 11:04:37 -08:00
2018-07-21 10:43:12 -05:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-04-11 10:33:46 -04:00
2019-11-15 12:28:28 -08:00
2019-10-05 16:29:00 -07:00
2019-09-16 09:02:18 +02:00
2019-12-13 21:40:49 -08:00
2018-03-01 21:21:36 -05:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-12-13 21:58:40 -08:00
2019-05-30 11:26:32 -07:00
2018-05-08 00:02:41 -04:00
2019-10-04 14:07:07 -07:00
2019-11-28 22:40:29 -08:00
2018-07-07 10:58:49 +09:00
2019-03-29 10:53:45 -07:00
2019-08-30 19:49:37 -07:00
2018-02-16 15:57:42 -05:00
2019-11-14 18:12:17 -08:00
2019-10-24 14:53:49 -07:00
2018-01-24 19:13:45 -05:00
2019-06-05 17:30:29 +02:00
2019-12-09 10:28:43 -08:00
2019-11-16 12:39:10 -08:00
2019-11-02 00:38:49 +01:00
2019-06-19 11:23:13 -04:00
2019-10-09 06:55:32 +02:00