Commit Graph

127728 Commits

Author SHA1 Message Date
scottl
c2c8b23410 Remove some debugging code that accidentally crept in. 2006-10-16 04:30:09 +00:00
scottl
012e27daa1 - Add a command validator for use in debugging.
- Fix the locking protocol to eliminate races between normal I/O and AENs.
- Various small improvements and usability tweaks.

Sponsored by: IronPort
Portions Submitted by: Doug Ambrisko
2006-10-16 04:18:38 +00:00
nyan
9b96c4f62e MFi386: revision 1.567 (add linux_aio.c). 2006-10-16 02:26:06 +00:00
scottl
c4037be379 Overhaul the transmit and dma paths:
- Use bus_dmamap_load_mbuf_sg() to eliminate the need for the callback and
all of the extra bookkeeping associated with it.
- Eliminate the bce_dmamap_arg structure and streamline the memory allocation
routines to not need it.  This does change some of the debugging messages.
- Refactor the loop that fills the buffer descriptor so that it can be done
with a single set of logic in a single loop instead of two sets of logic.
- Eliminate the need to cache and pass descriptor indexes between the start
loop and the encap function.
- Change the start loop to always check the ifnet sendq for more work.

This significantly helps the driver withstand large UDP workloads, though
it's still not perfect.  I suspect the remaining work lies with handling
the OACTIVE flag, and also in possibly streamlining the interrupt handler
some.  It is, however, nearly on par with the other popular gigabit drivers
in terms of stability now.
2006-10-15 23:42:56 +00:00
dwmalone
57c8475ce7 Make it so that the synopsis and usage message almost agree.
MFC after:	3 weeks
2006-10-15 17:44:49 +00:00
dwmalone
72234e1fdc Add a -D option to traceroute that prints the differences between
the probe packet we sent and the packet quoted by the ICMP response.
Can be useful for spotting hops that change the packet in-flight
or have problems generating correct ICMP responses.

MFC after:	3 weeks
2006-10-15 17:34:51 +00:00
hrs
51beaea0b5 Add a newline to the printf().
Spotted by:	Peter Carah <pete@altadena.net>
MFC after:	3 days
2006-10-15 16:52:59 +00:00
ache
ce03393cc5 Do real seek
Catch ftruncate errors

PR:             104295
Submitted by:   ru (seek)
2006-10-15 16:24:31 +00:00
ceri
e4ea7afca1 Add idmapd_flags to defaults/rc.conf.
Document it and idmapd_enable.
2006-10-15 15:55:00 +00:00
netchild
81c4528741 Fix compile (use the right variable name). 2006-10-15 14:34:03 +00:00
netchild
f2cc0e8140 regen (linux AIO stuff) 2006-10-15 14:24:10 +00:00
netchild
183bd5a34b MFP4 (with some minor changes):
Implement the linux_io_* syscalls (AIO). They are only enabled if the native
AIO code is available (either compiled in to the kernel or as a module) at
the time the functions are used. If the AIO stuff is not available there
will be a ENOSYS.

From the submitter:
---snip---
DESIGN NOTES:

1. Linux permits a process to own multiple AIO queues (distinguished by
   "context"), but FreeBSD creates only one single AIO queue per process.
   My code maintains a request queue (STAILQ of queue(3)) per "context",
   and throws all AIO requests of all contexts owned by a process into
   the single FreeBSD per-process AIO queue.

   When the process calls io_destroy(2), io_getevents(2), io_submit(2) and
   io_cancel(2), my code can pick out requests owned by the specified context
   from the single FreeBSD per-process AIO queue according to the per-context
   request queues maintained by my code.

2. The request queue maintained by my code stores contrast information between
   Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks
   (struct aiocb). FreeBSD IO control block actually exists in userland memory
   space, required by FreeBSD native aio_XXXXXX(2).

3. It is quite troubling that the function io_getevents() of libaio-0.3.105
   needs to use Linux-specific "struct aio_ring", which is a partial mirror
   of context in user space. I would rather take the address of context in
   kernel as the context ID, but the io_getevents() of libaio forces me to
   take the address of the "ring" in user space as the context ID.

   To my surprise, one comment line in the file "io_getevents.c" of
   libaio-0.3.105 reads:

             Ben will hate me for this

REFERENCE:

1. Linux kernel source code:   http://www.kernel.org/pub/linux/kernel/v2.6/
   (include/linux/aio_abi.h, fs/aio.c)

2. Linux manual pages:         http://www.kernel.org/pub/linux/docs/manpages/
   (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2))

3. Linux Scalability Effort:   http://lse.sourceforge.net/io/aio.html
   The design notes:           http://lse.sourceforge.net/io/aionotes.txt

4. The package libaio, both source and binary:
       http://rpmfind.net/linux/rpm2html/search.php?query=libaio
   Simple transparent interface to Linux AIO system calls.

5. Libaio-oracle:              http://oss.oracle.com/projects/libaio-oracle/
   POSIX AIO implementation based on Linux AIO system calls (depending on
   libaio).
---snip---

Submitted by:	Li, Xiao <intron@intron.ac>
2006-10-15 14:22:14 +00:00
ceri
7b28cc9b2f RC script for idmapd(8), defaulting to off. 2006-10-15 14:19:06 +00:00
ceri
5bf1034089 Hook up idmapd to the build, as the NFS4 client is not much use without
it.
2006-10-15 14:04:28 +00:00
ceri
a00c4e62c6 .PATH isn't necessary here.
Remove hardcoded path to /usr/src/sys.
2006-10-15 13:51:49 +00:00
ceri
0f61a909d6 Try to clarify that this daemon should run on the client machine.
Fix a .Xr.
2006-10-15 13:50:16 +00:00
netchild
a9266094f2 MFP4 (106538 + 106541):
Implement CLONE_VFORK. This fixes the clone05 LTP test.

Submitted by:	rdivacky
2006-10-15 13:39:40 +00:00
netchild
96943a3038 Revert my previous commit, I mismerged this to the wrong place.
Pointy hat to:	netchild
2006-10-15 13:30:45 +00:00
netchild
7e5ad63262 MFP4 (106541): Fix the clone05 test in the LTP.
Submitted by:	rdivacky
2006-10-15 13:25:23 +00:00
netchild
6dc0f7cde5 MFP4 (107144[1]): Implement CLONE_FS on i386[1] and amd64.
Submitted by:	rdivacky	[1]
2006-10-15 13:22:14 +00:00
netchild
4afde07449 MFP4 (107868 - 107870):
Use a macro to test for a valid signal instead of doing it my hand everywhere.

Submitted by:	rdivacky
2006-10-15 12:51:43 +00:00
pjd
e993001f47 Explain that using 64bit arguments on 32bit architectures with CTRx()
macros is a bad idea.
2006-10-15 12:40:27 +00:00
ceri
d16480f34d Update the FILES section which has been wrong for some time.
MFC after:	3 days
2006-10-15 11:50:11 +00:00
ceri
d52521898e Add the sun4v category.
Reminded by:	ru
MFC After:	1 re approval
2006-10-15 11:43:42 +00:00
ariff
fecaf226d8 Wrap debug printfs into SEQ_DEBUG() to avoid kernel messages clutter
during module unload.
2006-10-15 08:23:48 +00:00
tanimura
13e71177df Fix the wraparound of memsize >=2GB. 2006-10-15 05:04:06 +00:00
alc
31fbaf5d5c Long ago, revision 1.22 of vm/vm_pager.h introduced a bug. Specifically,
it introduced a check after the call to file system's get pages method
that assumes that the get pages method does not change the array of pages
that is passed to it.  In the case of vnode_pager_generic_getpages(),
this assumption has been incorrect.  The contents of the array of pages
may be shifted by vnode_pager_generic_getpages().  Likely, the problem
has been hidden by vnode_pager_haspage() limiting the set of pages that
are passed to vnode_pager_generic_getpages() such that a shift never
occurs.

The fix implemented herein is to adjust the pointer to the array of pages
rather than shifting the pages within the array.

MFC after: 3 weeks
Fix suggested by: tegge
2006-10-14 23:21:48 +00:00
alc
07a6c3ab4e Change vnode_pager_addr() such that on returning it distinguishes between
an error returned by VOP_BMAP() and a hole in the file.

Change the callers to vnode_pager_addr() such that they return
VM_PAGER_ERROR when VOP_BMAP fails instead of a zero-filled page.

Reviewed by: tegge
MFC after: 3 weeks
2006-10-14 22:09:03 +00:00
bde
d36e6277cb Moved __BEGIN_DECLS up a little so that it covers __test_sse() and C++
isn't broken,

PR:		104425
2006-10-14 20:35:56 +00:00
ru
ef1f86587e This commit was generated by cvs2svn to compensate for changes in r163356,
which included commits to RCS files with non-trunk default branches.
2006-10-14 19:50:57 +00:00
ru
377d0def80 Fix from upstream: unbreak generation of the terminfo.5 manpage.
PR:		docs/46709, docs/56981, docs/80871
MFC after:	3 days
Obtained from:	ftp://invisible-island.net/ncurses/ncurses-5.5.tar.gz
2006-10-14 19:50:57 +00:00
ru
1bc0f5fc76 Prevent IOC_IN with zero size argument (this is only supported
if backward copatibility options are present) from attempting
to free memory that wasn't allocated.  This is an old bug, and
previously it would attempt to free a null pointer.  I noticed
this bug when working on the previous revision, but forgot to
fix it.

Security:	local DoS
Reported by:	Peter Holm
MFC after:	3 days
2006-10-14 19:01:55 +00:00
ru
34fd4e5d2b Replace duplicate and not quite accurate capabilities
description with a reference to the disktab(5) manpage.

PR:		doc/48105
2006-10-14 16:39:03 +00:00
ru
db4c1fb655 Reflect the following changes to lib/libc/gen/disklabel.c in a manpage:
: revision 1.13
: date: 2002/04/03 15:44:53;  author: phk;  state: Exp;  lines: +0 -5
: Initial deorbit burn for the undocumented and unused d_boot[01]
: fields of struct disklabel.
:
: Sponsored by: DARPA and NAI Labs.
: ----------------------------
: revision 1.15
: date: 2002/05/12 20:49:33;  author: phk;  state: Exp;  lines: +1 -3
: Retire the bogus uses of the disklabel field d_sbsize and begin to
: initialize it to zero so we don't have to have everbody and their
: aunt including FFS specific header files.
:
: Sponsored by: DARPA & NAI Labs.
2006-10-14 16:37:53 +00:00
bmah
4f58850009 New release notes: mrouted(8) de-orbit.
MFCs noted:  i386 bootloader/nextboot.conf fix, atausb, ARM toolchain.

Other updates:  tzdata2006n, GNOME 2.16.1.
2006-10-14 13:46:00 +00:00
davidxu
e8a2970aaf Don't inherit THR_FLAGS_NEED_SUSPEND for child process, child process
only has one thread, setting the flag can cause the thread to be
suspended and no another thread will resume it.
2006-10-14 13:40:08 +00:00
trhodes
e7d9ab0897 Close a race condition where num can be larger than tmp, giving the user
too large of a boundary.

Reported by:	Ilja Van Sprundel
2006-10-14 10:30:14 +00:00
joel
c990b26f9c - Use our standard section 4 SYNOPSIS layout.
-  Add a bunch of missing Xrefs's.
2006-10-14 07:57:55 +00:00
bde
d0962ab7a5 Don't do null Setattr RPCs for VA_MARK_ATIME. When we added the
VA_MARK_ATIME feature to fix POSIX conformance fore execve() and mmap(),
we thought that it was optimized well enough for the one file system
that supports it (ffs) and harmless for other file systems (except
layered ones which already get the layering for VOP_SETATTR() wrong).
However, nfs_setattr() doesn't do much parameter checking, so when
it gets a combination of parameters that it doesn't understand, it
always does a Setattr RPC.  This RPC can't do anything good, and for
VA_MARK_ATIME it is null except for wasting a lot of time.

This is the smallest and easiest to fix of several bugs that have
increased the number of RPCs for kernel builds on nfs by more than
100% since 2004-11-05.  The real-time increase depends on network
latency and parallelization and can also be very large (approaching
the same percentage for unparallelized operations like "make depend"
on systems with fast CPUs and high-latency networks).
2006-10-14 07:25:11 +00:00
scottl
8bd9cc6205 Simplify the arguments to bce_tx_encap. 2006-10-14 05:30:12 +00:00
scottl
2640fdfe79 More small whitespace cleanups 2006-10-14 04:28:23 +00:00
scottl
5cccc781cc Don't copy the bd_chain head pointers into temporary objects, they are
available globally.
2006-10-14 03:58:59 +00:00
tegge
aa695ee90e Backout unblocking of signal if no threads can currently handle it.
The check for pending signal after direct invocation of signal handler
is sufficient.
2006-10-14 01:11:44 +00:00
trhodes
c33bd784c4 Remove mention of "lomac" as it's been gone for a good while now (at least
two years).
2006-10-13 23:59:59 +00:00
davidxu
653013bedc o Make _thr_umutex_init a function.
o Eliminate unused parameter for some functions.
o Convert type of first parameter to void * for _thr_umtx_wait
  and _thr_umtx_wake.
2006-10-13 22:31:00 +00:00
ru
a17c967b42 Define an empty C_DIALECT in case of "icc", just in case. 2006-10-13 22:29:06 +00:00
ru
ca460b4ef0 - Remove include links only when .depend is also removed, so that
"make depend; make clean; make -n" works.

- Preseve kernel's .depend if it already exists and its creation
  is interrupted.

Reported/reviewed by:	bde
2006-10-13 22:28:14 +00:00
jb
47f75c2b66 Ignore the uart device. 2006-10-13 21:55:30 +00:00
jb
a0df1f1daf Remove a nmdm comment which ru@ thinks was no longer required. 2006-10-13 21:44:57 +00:00
jb
edbbcce00c sun4v uses the sparc64 version of this file. 2006-10-13 21:30:18 +00:00