Subject: CVS commit: syssrc/sys
To: None <source-changes@netbsd.org>
From: Jason R Thorpe <thorpej@netbsd.org>
List: source-changes
Date: 06/29/2002 02:27:15
Module Name:	syssrc
Committed By:	thorpej
Date:		Fri Jun 28 23:27:14 UTC 2002

Modified Files:
	syssrc/sys/conf: files
	syssrc/sys/dev: Makefile
Added Files:
	syssrc/sys/dev: kttcp.c kttcpio.h

Log Message:
This is the "kttcp" network throughput testing pseudo-device.  From
the block comment at the top of the file:

      This module provides kernel support for testing network
      throughput from the perspective of the kernel.  It is
      similar in spirit to the classic ttcp network benchmark
      program, the main difference being that with kttcp, the
      kernel is the source and sink of the data.

      Testing like this is useful for a few reasons:

      1. This allows us to know what kind of performance we can
         expect from network applications that run in the kernel
         space, such as the NFS server or the NFS client.  These
         applications don't have to move the data to/from userspace,
         and so benchmark programs which run in userspace don't
         give us an accurate model.

      2. Since data received is just thrown away, the receiver
         is very fast.  This can provide better exercise for the
         sender at the other end.

      3. Since the NetBSD kernel currently uses a run-to-completion
         scheduling model, kttcp provides a benchmark model where
         preemption of the benchmark program is not an issue.

There is a companion "kttcp" user program which uses the kttcp
pseudo-device.

Largely written by Frank van der Linden, with some modifications
from me.


To generate a diff of this commit:
cvs rdiff -r1.538 -r1.539 syssrc/sys/conf/files
cvs rdiff -r1.10 -r1.11 syssrc/sys/dev/Makefile
cvs rdiff -r0 -r1.1 syssrc/sys/dev/kttcp.c syssrc/sys/dev/kttcpio.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.