Page MenuHomeFreeBSD

D6619.id17043.diff
No OneTemporary

D6619.id17043.diff

Index: sys/netinet/tcp_lro.c
===================================================================
--- sys/netinet/tcp_lro.c
+++ sys/netinet/tcp_lro.c
@@ -399,17 +399,13 @@
uint32_t y;
repeat:
- /* for small arrays bubble sort is faster */
+ /* for small arrays insertion sort is faster */
if (size <= 12) {
- for (x = 0; x != size; x++) {
- for (y = x + 1; y != size; y++) {
- if (parray[x].seq > parray[y].seq) {
- /* swap entries */
- temp = parray[x];
- parray[x] = parray[y];
- parray[y] = temp;
- }
- }
+ for (x = 1; x < size; x++) {
+ temp = parray[x];
+ for (y = x; y > 0 && temp.seq < parray[y - 1].seq; y--)
+ parray[y] = parray[y - 1];
+ parray[y] = temp;
}
return;
}

File Metadata

Mime Type
text/plain
Expires
Sun, Dec 21, 5:26 AM (3 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27107965
Default Alt Text
D6619.id17043.diff (729 B)

Event Timeline