arybchik
1d3e454e28
sfxge: fix overflow queue freeze
...
If TxQ lock is obtained, deferred packet list shold be serviced even if
the packet addition fails because of overflow.
Without the patch freeze happens if:
- queue is not blocked (i.e. completion does not trigger unblock and service)
- put-list overflow (1024 entries)
- sfxge_tx_packet_add() acquires TxQ lock just as it is released it in
sfxge_tx_qdpl_service() on the second CPU but before pending check
- sfxge_tx_packet_add() swizzles put-list to get-list, fails because of
non-tcp get-list overflow and returns without packet list service
- sfxge_tx_qdpl_service() on the second CPU checks that there are no
pending packets in the put-list and returns
Other possible solution is to guaranee that maximum length of the put-list
is less than maximum length of any get-list.
Reviewed by: gnn
Sponsored by: Solarflare Communications, Inc.
MFC after: 2 days
Differential Revision: https://reviews.freebsd.org/D2562
2015-05-18 06:02:22 +00:00
..
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-05-16 20:06:39 +00:00
2015-05-11 14:36:34 +00:00
2015-03-22 16:10:28 +00:00
2014-09-19 03:51:26 +00:00
2014-09-18 21:01:41 +00:00
2015-01-23 15:14:30 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-03-23 19:47:52 +00:00
2014-11-21 21:01:24 +00:00
2015-01-30 01:13:07 +00:00
2014-10-08 01:03:32 +00:00
2014-09-23 06:31:15 +00:00
2015-01-04 23:14:04 +00:00
2014-09-23 06:31:15 +00:00
2014-09-23 05:54:18 +00:00
2014-10-13 13:13:42 +00:00
2015-03-22 16:10:28 +00:00
2015-01-06 12:59:37 +00:00
2014-11-21 21:01:24 +00:00
2014-10-28 12:00:39 +00:00
2015-03-24 18:09:07 +00:00
2015-04-06 01:12:53 +00:00
2015-05-10 20:36:57 +00:00
2015-02-24 01:00:46 +00:00
2015-01-05 16:43:22 +00:00
2014-09-18 21:03:13 +00:00
2015-03-08 19:55:46 +00:00
2014-08-30 18:01:45 +00:00
2014-09-18 21:05:59 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-04-22 14:38:58 +00:00
2015-03-09 22:39:58 +00:00
2015-02-18 05:53:04 +00:00
2014-09-18 20:53:02 +00:00
2015-01-06 12:59:37 +00:00
2014-10-17 17:34:05 +00:00
2014-10-16 18:04:43 +00:00
2015-04-02 23:12:18 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2014-12-20 16:40:49 +00:00
2015-01-06 12:59:37 +00:00
2015-03-22 16:10:28 +00:00
2015-01-06 12:59:37 +00:00
2015-01-23 15:14:30 +00:00
2015-03-14 17:08:28 +00:00
2015-04-26 21:31:30 +00:00
2015-01-23 15:14:30 +00:00
2015-01-21 19:53:52 +00:00
2014-09-19 03:51:26 +00:00
2014-10-10 19:12:04 +00:00
2015-03-22 16:10:28 +00:00
2014-12-17 07:27:19 +00:00
2015-03-29 18:45:51 +00:00
2015-04-03 11:37:23 +00:00
2015-04-30 18:23:38 +00:00
2015-03-01 21:41:33 +00:00
2015-01-05 09:58:32 +00:00
2014-09-18 20:11:28 +00:00
2014-09-24 11:23:55 +00:00
2015-04-18 07:34:39 +00:00
2015-01-06 12:59:37 +00:00
2015-01-05 09:58:32 +00:00
2015-03-07 20:45:15 +00:00
2014-09-25 20:40:24 +00:00
2015-05-15 13:55:18 +00:00
2015-02-03 18:59:52 +00:00
2014-11-24 16:12:11 +00:00
2015-01-21 20:08:24 +00:00
2015-03-03 02:08:17 +00:00
2014-12-24 03:49:33 +00:00
2014-09-18 20:21:46 +00:00
2014-11-21 21:01:24 +00:00
2014-10-30 21:21:53 +00:00
2015-05-15 13:55:18 +00:00
2014-09-19 03:51:26 +00:00
2014-10-21 07:31:21 +00:00
2015-01-06 12:59:37 +00:00
2014-09-18 21:07:05 +00:00
2014-11-21 21:01:24 +00:00
2015-04-11 00:45:03 +00:00
2014-11-21 21:01:24 +00:00
2015-05-09 09:21:59 +00:00
2015-04-29 10:12:34 +00:00
2015-02-17 05:07:38 +00:00
2015-04-24 07:24:31 +00:00
2014-11-26 04:23:21 +00:00
2015-03-22 16:10:28 +00:00
2015-01-06 12:59:37 +00:00
2015-05-10 22:07:53 +00:00
2015-05-10 02:19:27 +00:00
2015-03-22 16:10:28 +00:00
2014-09-23 06:31:15 +00:00
2015-04-24 16:56:23 +00:00
2014-11-13 22:06:57 +00:00
2014-09-19 03:51:26 +00:00
2014-12-24 07:04:04 +00:00
2015-05-15 13:36:50 +00:00
2015-03-14 22:32:15 +00:00
2015-01-21 20:32:36 +00:00
2014-09-19 03:51:26 +00:00
2015-05-16 05:59:25 +00:00
2014-09-28 07:40:26 +00:00
2015-05-01 12:10:36 +00:00
2015-05-15 06:11:47 +00:00
2014-09-24 11:33:43 +00:00
2014-11-22 20:31:20 +00:00
2015-04-29 20:08:03 +00:00
2015-01-06 12:59:37 +00:00
2014-09-19 03:51:26 +00:00
2015-02-17 05:10:41 +00:00
2015-02-10 21:33:32 +00:00
2014-10-10 14:17:42 +00:00
2014-11-18 21:51:01 +00:00
2015-01-24 12:51:15 +00:00
2014-09-19 03:51:26 +00:00
2015-04-23 01:39:28 +00:00
2015-03-22 16:10:28 +00:00
2015-03-22 16:10:28 +00:00
2015-03-31 11:50:46 +00:00
2015-01-06 12:59:37 +00:00
2015-02-26 22:22:06 +00:00
2015-03-06 16:17:08 +00:00
2014-11-23 21:37:33 +00:00
2015-05-06 10:46:28 +00:00
2014-10-11 19:36:59 +00:00
2014-10-13 06:51:40 +00:00
2015-03-23 19:47:52 +00:00
2015-02-10 21:33:32 +00:00
2015-04-22 14:38:58 +00:00
2015-01-06 12:59:37 +00:00
2015-05-04 20:36:00 +00:00
2014-09-25 18:43:52 +00:00
2014-11-20 20:50:05 +00:00
2014-09-19 03:51:26 +00:00
2015-05-15 15:36:57 +00:00
2014-10-16 18:04:43 +00:00
2014-09-23 05:54:18 +00:00
2015-01-12 07:43:19 +00:00
2014-09-10 05:44:15 +00:00
2014-11-20 20:50:05 +00:00
2014-11-11 04:48:09 +00:00
2015-04-09 00:37:55 +00:00
2014-10-17 17:34:05 +00:00
2015-02-13 19:44:04 +00:00
2015-05-15 13:55:18 +00:00
2015-01-05 09:58:32 +00:00
2014-12-03 00:47:05 +00:00
2015-05-05 04:23:55 +00:00
2015-05-11 20:58:05 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2014-09-19 03:51:26 +00:00
2015-04-13 16:41:33 +00:00
2014-11-18 21:58:57 +00:00
2015-01-02 22:45:55 +00:00
2014-10-21 07:31:21 +00:00
2014-12-01 11:45:24 +00:00
2014-12-01 11:45:24 +00:00
2015-02-11 05:25:23 +00:00
2015-02-18 08:21:51 +00:00
2015-04-09 21:35:44 +00:00
2014-09-19 10:33:23 +00:00
2014-11-11 18:15:05 +00:00
2014-10-21 07:31:21 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2014-11-18 22:02:37 +00:00
2015-02-27 15:47:30 +00:00
2014-09-19 03:55:19 +00:00
2015-05-18 06:02:22 +00:00
2014-09-19 03:51:26 +00:00
2014-08-20 16:07:17 +00:00
2015-03-23 19:47:52 +00:00
2015-01-12 07:37:06 +00:00
2014-10-13 06:51:40 +00:00
2015-04-25 16:15:01 +00:00
2015-02-13 11:13:08 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2015-05-08 17:48:48 +00:00
2015-02-18 14:33:33 +00:00
2014-09-19 03:51:26 +00:00
2014-11-20 20:50:05 +00:00
2014-09-18 21:16:05 +00:00
2015-04-11 15:40:28 +00:00
2014-11-21 21:01:24 +00:00
2015-01-27 17:33:18 +00:00
2014-11-21 21:34:19 +00:00
2015-01-06 12:59:37 +00:00
2015-01-06 12:59:37 +00:00
2015-03-22 16:10:28 +00:00
2014-09-19 03:51:26 +00:00
2015-03-22 16:10:28 +00:00
2015-01-05 19:49:20 +00:00
2014-09-18 20:06:10 +00:00
2014-09-24 11:58:23 +00:00
2015-04-11 17:16:23 +00:00
2015-05-10 12:45:21 +00:00
2014-09-18 20:30:47 +00:00
2014-09-23 06:31:15 +00:00
2015-02-15 11:37:40 +00:00
2015-04-29 17:48:25 +00:00
2014-12-01 11:45:24 +00:00
2014-09-18 20:17:27 +00:00
2015-05-10 17:11:04 +00:00
2014-09-24 11:31:46 +00:00
2015-01-06 12:59:37 +00:00
2014-12-01 11:45:24 +00:00
2015-02-28 22:37:48 +00:00
2015-01-06 12:59:37 +00:00
2015-03-14 13:02:08 +00:00
2014-11-18 22:12:51 +00:00
2014-11-22 18:40:14 +00:00
2014-11-20 20:09:18 +00:00
2015-05-03 23:40:12 +00:00
2014-09-19 03:51:26 +00:00
2015-01-06 12:59:37 +00:00
2015-05-14 16:29:11 +00:00
2014-09-18 20:35:22 +00:00