PERFORCE change 132663 for review
Christian S.J. Peron
csjp at FreeBSD.org
Sun Jan 6 16:31:08 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=132663
Change 132663 by csjp at csjp_xor on 2008/01/07 00:30:15
Make zerocopy copy enabled by default. This doesn't mean that we
will use it by default, but it does mean that we will have support
for it by default.
Affected files ...
.. //depot/projects/zcopybpf/src/sys/amd64/conf/BPF_ZEROCOPY#2 delete
.. //depot/projects/zcopybpf/src/sys/conf/NOTES#15 edit
.. //depot/projects/zcopybpf/src/sys/conf/files#16 edit
.. //depot/projects/zcopybpf/src/sys/conf/options#12 edit
.. //depot/projects/zcopybpf/src/sys/i386/conf/BPF_ZEROCOPY#2 delete
.. //depot/projects/zcopybpf/src/sys/net/bpf.c#37 edit
Differences ...
==== //depot/projects/zcopybpf/src/sys/conf/NOTES#15 (text+ko) ====
@@ -614,10 +614,6 @@
options ALTQ_NOPCC # Required if the TSC is unusable
options ALTQ_DEBUG
-# bpf(4). Compile-time options go here, whereas enabling bpf(4) itself goes
-# later with the other devices.
-options BPF_ZEROCOPY # Enable zero-copy BPF
-
# netgraph(4). Enable the base netgraph code with the NETGRAPH option.
# Individual node types can be enabled with the corresponding option
# listed below; however, this is not strictly necessary as netgraph
==== //depot/projects/zcopybpf/src/sys/conf/files#16 (text+ko) ====
@@ -1607,7 +1607,7 @@
net/bpf_buffer.c optional bpf
net/bpf_jitter.c optional bpf_jitter
net/bpf_filter.c optional bpf | netgraph_bpf
-net/bpf_zerocopy.c optional bpf_zerocopy
+net/bpf_zerocopy.c optional bpf
net/bridgestp.c optional bridge | if_bridge
net/bsd_comp.c optional ppp_bsdcomp
net/ieee8023ad_lacp.c optional lagg
==== //depot/projects/zcopybpf/src/sys/conf/options#12 (text+ko) ====
@@ -479,7 +479,6 @@
# DRM options
DRM_DEBUG opt_drm.h
-BPF_ZEROCOPY opt_bpf.h
ZERO_COPY_SOCKETS opt_zero.h
TI_PRIVATE_JUMBOS opt_ti.h
TI_JUMBO_HDRSPLIT opt_ti.h
==== //depot/projects/zcopybpf/src/sys/net/bpf.c#37 (text+ko) ====
@@ -70,9 +70,7 @@
#ifdef BPF_JITTER
#include <net/bpf_jitter.h>
#endif
-#ifdef BPF_ZEROCOPY
#include <net/bpf_zerocopy.h>
-#endif
#include <net/bpfdesc.h>
#include <netinet/in.h>
@@ -134,11 +132,9 @@
static int bpf_maxinsns = BPF_MAXINSNS;
SYSCTL_INT(_net_bpf, OID_AUTO, maxinsns, CTLFLAG_RW,
&bpf_maxinsns, 0, "Maximum bpf program instructions");
-#ifdef BPF_ZEROCOPY
static int bpf_zerocopy_enable = 1;
SYSCTL_INT(_net_bpf, OID_AUTO, zerocopy_enable, CTLFLAG_RW,
&bpf_zerocopy_enable, 0, "Enable new zero-copy BPF buffer sessions");
-#endif
SYSCTL_NODE(_net_bpf, OID_AUTO, stats, CTLFLAG_RW,
bpf_stats_sysctl, "bpf statistics portal");
@@ -181,11 +177,9 @@
case BPF_BUFMODE_BUFFER:
return (bpf_buffer_append_bytes(d, buf, offset, src, len));
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
d->bd_zcopy++;
return (bpf_zerocopy_append_bytes(d, buf, offset, src, len));
-#endif
default:
panic("bpf_buf_append_bytes");
@@ -203,11 +197,9 @@
case BPF_BUFMODE_BUFFER:
return (bpf_buffer_append_mbuf(d, buf, offset, src, len));
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
d->bd_zcopy++;
return (bpf_zerocopy_append_mbuf(d, buf, offset, src, len));
-#endif
default:
panic("bpf_buf_append_mbuf");
@@ -226,10 +218,8 @@
BPFD_LOCK_ASSERT(d);
switch (d->bd_bufmode) {
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
return (bpf_zerocopy_canfreebuf(d));
-#endif
}
return (0);
}
@@ -241,11 +231,9 @@
BPFD_LOCK_ASSERT(d);
switch (d->bd_bufmode) {
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
bpf_zerocopy_bufheld(d);
break;
-#endif
}
}
@@ -257,10 +245,8 @@
case BPF_BUFMODE_BUFFER:
return (bpf_buffer_free(d));
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
return (bpf_zerocopy_free(d));
-#endif
default:
panic("bpf_buf_free");
@@ -291,11 +277,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_ackzbuf(td, d, bz));
-#else
- panic("bpf_ioctl_ackzbuf");
-#endif
}
static int
@@ -304,11 +286,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_getzbuf(td, d, bz));
-#else
- panic("bpf_ioctl_getzbuf");
-#endif
}
static int
@@ -317,11 +295,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_getznext(td, d, bz));
-#else
- panic("bpf_ioctl_getznext");
-#endif
}
static int
@@ -330,11 +304,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_getzmax(td, d, i));
-#else
- panic("bpf_ioctl_getzmax");
-#endif
}
static int
@@ -343,11 +313,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_rotzbuf(td, d, bz));
-#else
- panic("bpf_ioctl_rotzbuf");
-#endif
}
static int
@@ -356,11 +322,7 @@
if (d->bd_bufmode != BPF_BUFMODE_ZBUF)
return (EOPNOTSUPP);
-#ifdef BPF_ZEROCOPY
return (bpf_zerocopy_ioctl_setzbuf(td, d, bz));
-#else
- panic("bpf_ioctl_setzbuf");
-#endif
}
/*
@@ -1308,12 +1270,10 @@
case BPF_BUFMODE_BUFFER:
break;
-#ifdef BPF_ZEROCOPY
case BPF_BUFMODE_ZBUF:
if (bpf_zerocopy_enable)
break;
/* FALLSTHROUGH */
-#endif
default:
return (EINVAL);
More information about the p4-projects
mailing list