Commit 743bbd9
ice: put Rx buffers after being done with current frame
Introduce a new helper ice_put_rx_mbuf() that will go through gathered
frags from current frame and will call ice_put_rx_buf() on them. Current
logic that was supposed to simplify and optimize the driver where we go
through a batch of all buffers processed in current NAPI instance turned
out to be broken for jumbo frames and very heavy load that was coming
from both multi-thread iperf and nginx/wrk pair between server and
client. The delay introduced by approach that we are dropping is simply
too big and we need to take the decision regarding page
recycling/releasing as quick as we can.
While at it, address an error path of ice_add_xdp_frag() - we were
missing buffer putting from day 1 there.
As a nice side effect we get rid of annoying and repetitive three-liner:
xdp->data = NULL;
rx_ring->first_desc = ntc;
rx_ring->nr_frags = 0;
by embedding it within introduced routine.
Fixes: 1dc1a7e ("ice: Centrallize Rx buffer recycling")
Reported-and-tested-by: Xu Du <xudu@redhat.com>
Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Co-developed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>1 parent c2933b2 commit 743bbd9
1 file changed
+50
-29
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1103 | 1103 | | |
1104 | 1104 | | |
1105 | 1105 | | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
| 1110 | + | |
| 1111 | + | |
| 1112 | + | |
| 1113 | + | |
| 1114 | + | |
| 1115 | + | |
| 1116 | + | |
| 1117 | + | |
| 1118 | + | |
| 1119 | + | |
| 1120 | + | |
| 1121 | + | |
| 1122 | + | |
| 1123 | + | |
| 1124 | + | |
| 1125 | + | |
| 1126 | + | |
| 1127 | + | |
| 1128 | + | |
| 1129 | + | |
| 1130 | + | |
| 1131 | + | |
| 1132 | + | |
| 1133 | + | |
| 1134 | + | |
| 1135 | + | |
| 1136 | + | |
| 1137 | + | |
| 1138 | + | |
| 1139 | + | |
| 1140 | + | |
| 1141 | + | |
| 1142 | + | |
| 1143 | + | |
| 1144 | + | |
| 1145 | + | |
| 1146 | + | |
| 1147 | + | |
| 1148 | + | |
1106 | 1149 | | |
1107 | 1150 | | |
1108 | 1151 | | |
| |||
1120 | 1163 | | |
1121 | 1164 | | |
1122 | 1165 | | |
1123 | | - | |
1124 | 1166 | | |
1125 | 1167 | | |
1126 | 1168 | | |
1127 | 1169 | | |
1128 | 1170 | | |
1129 | 1171 | | |
1130 | 1172 | | |
1131 | | - | |
1132 | 1173 | | |
1133 | 1174 | | |
1134 | 1175 | | |
| |||
1190 | 1231 | | |
1191 | 1232 | | |
1192 | 1233 | | |
| 1234 | + | |
1193 | 1235 | | |
1194 | 1236 | | |
1195 | 1237 | | |
| |||
1205 | 1247 | | |
1206 | 1248 | | |
1207 | 1249 | | |
1208 | | - | |
1209 | | - | |
1210 | | - | |
| 1250 | + | |
| 1251 | + | |
1211 | 1252 | | |
1212 | 1253 | | |
1213 | 1254 | | |
| |||
1221 | 1262 | | |
1222 | 1263 | | |
1223 | 1264 | | |
1224 | | - | |
1225 | | - | |
1226 | | - | |
1227 | | - | |
1228 | 1265 | | |
1229 | | - | |
1230 | | - | |
1231 | | - | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
1232 | 1270 | | |
1233 | 1271 | | |
1234 | 1272 | | |
| |||
1257 | 1295 | | |
1258 | 1296 | | |
1259 | 1297 | | |
1260 | | - | |
1261 | | - | |
1262 | | - | |
1263 | | - | |
1264 | | - | |
1265 | | - | |
1266 | | - | |
1267 | | - | |
1268 | | - | |
1269 | | - | |
1270 | | - | |
1271 | | - | |
1272 | | - | |
1273 | | - | |
1274 | | - | |
1275 | | - | |
1276 | | - | |
1277 | 1298 | | |
1278 | 1299 | | |
1279 | 1300 | | |
| |||
0 commit comments