PERFORCE change 126455 for review
Kip Macy
kmacy at FreeBSD.org
Sat Sep 15 16:26:59 PDT 2007
http://perforce.freebsd.org/chv.cgi?CH=126455
Change 126455 by kmacy at kmacy_home:ethng on 2007/09/15 23:26:15
skip busdma rx setup on x86
increases rx throughput by about 15% on udp netperf recv
Affected files ...
.. //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#20 edit
Differences ...
==== //depot/projects/ethng/src/sys/dev/cxgb/cxgb_sge.c#20 (text+ko) ====
@@ -83,7 +83,7 @@
#define SGE_RX_SM_BUF_SIZE 1536
#define SGE_RX_DROP_THRES 16
-#define SGE_RX_COPY_THRES 128
+#define SGE_RX_COPY_THRES MHLEN
/*
* Period of the Tx buffer reclaim timer. This timer does not need to run
@@ -518,6 +518,7 @@
qs->rspq.polling = 0 /* p->polling */;
}
+#if !defined(__i386__) && !defined(__amd64__)
static void
refill_fl_cb(void *arg, bus_dma_segment_t *segs, int nseg, int error)
{
@@ -528,7 +529,7 @@
cb_arg->nseg = nseg;
}
-
+#endif
/**
* refill_fl - refill an SGE free-buffer list
* @sc: the controller softc
@@ -567,7 +568,7 @@
}
sd->flags |= RX_SW_DESC_MAP_CREATED;
}
-
+#if !defined(__i386__) && !defined(__amd64__)
err = bus_dmamap_load(q->entry_tag, sd->map, (uint32_t *)cl + 1, q->buf_size,
refill_fl_cb, &cb_arg, 0);
@@ -578,7 +579,9 @@
*/
return;
}
-
+#else
+ cb_arg.seg.ds_addr = pmap_kextract((vm_offset_t)((uint32_t *)cl + 1));
+#endif
sd->flags |= RX_SW_DESC_INUSE;
sd->rxsd_cl = cl;
sd->data = (uint8_t *)(sd->rxsd_ref + 1);
More information about the p4-projects
mailing list