PERFORCE change 114172 for review

Robert Watson rwatson at FreeBSD.org
Wed Feb 7 11:48:13 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=114172

Change 114172 by rwatson at rwatson_cinnamon on 2007/02/07 11:48:03

	Update bpf(4) man page for BIOCROTZBUF ioctl, and improve the
	documentation about buffers a bit.  The man page is not yet updated
	for the shared memory header and ACK model.

Affected files ...

.. //depot/projects/zcopybpf/src/share/man/man4/bpf.4#3 edit

Differences ...

==== //depot/projects/zcopybpf/src/share/man/man4/bpf.4#3 (text+ko) ====

@@ -425,20 +425,37 @@
 .Vt bz_buflen
 must be filled out.
 .It Dv BIOCGETZMAX
-.Pq Li u_int
+.Pq Li size_t
 Get the largest individual zero-copy buffer size allowed.
 As two buffers are used in zero-copy buffer mode, the limit (in practice) is
-twice this size.
+twice the returned size.
 As zero-copy buffers consume kernel address space, conservative selection of
 buffer size, especially when there are multiple
 .Nm
 descriptors in use on 32-bit systems.
 .It Dv BIOCGETZNEXT
+.It Dv BIOCROTZBUF
 .Pq Li struct bpf_zbuf
-Get the buffer pointer of the next completed zero-copy buffer and length of
-pending data, or
+Get the buffer pointer and length of the next zero-copy buffer buffer ready
+for userspace use, or
+.Dv NULL
+if there is no pending buffer.
+.Pp
+.Dv BIOCGETZNEXT
+queries for the next completely filled buffer ready for immediate use,
+returning NULL if there are only empty or partially filled buffers available.
+.Pp
+.Dv BIOCROTZBUF
+queries for a filled buffer, but in the event there is only a partially
+filled buffer, will make that buffer available for userspace to use
+immediately.
+This allows consumers of zero-copy buffering to implement timeouts and
+retrieve partially filled buffers.
+.Dv BIOCROTZBUF
+will return
 .Dv NULL
-if there is no pending completed buffer.
+only if no data is present in either of the zero-copy buffers.
+.Pp
 Only the
 .Vt bz_bufa
 and


More information about the p4-projects mailing list