Sascha Wildner [Mon, 4 Oct 2010 06:03:43 +0000 (08:03 +0200)]
kernel: Add some __printflike()'s to protect against format issues.
Sascha Wildner [Mon, 4 Oct 2010 06:33:54 +0000 (08:33 +0200)]
Teach gcc41 about %b and %D taking two parameters in a better way.
Previously, we had special code to handle the properties of %b and %D
(which are for printing bit masks and hexdumps, respectively). Remove
this code and instead use chained format_char_info's to pass the
information that both of these formats consume two arguments.
Sascha Wildner [Sun, 3 Oct 2010 17:54:39 +0000 (19:54 +0200)]
hammer(8): Fix wrong message.
Noticed-by: beket
Sascha Wildner [Sat, 2 Oct 2010 21:09:22 +0000 (23:09 +0200)]
pflogd(8): Use TAB for indentation.
Sascha Wildner [Sat, 2 Oct 2010 11:03:43 +0000 (13:03 +0200)]
pflogd(8): Raise WARNS to 6.
Matthias Schmidt [Sat, 2 Oct 2010 12:55:01 +0000 (14:55 +0200)]
rc.resume - Reassociate with WPA client on resume
change a comment while here and accept ACPI state 5.
Obtained-From: FreeBSD
Matthias Schmidt [Fri, 1 Oct 2010 19:20:23 +0000 (21:20 +0200)]
gzip - Do not return from write after each inflate
From FreeBSDs commit message:
In the past gunzip(1) write()'s after each inflate return. This is
not optimal from a performance standpoint since the write buffer is
not necessarily be filled up when the inflate rountine reached the
end of input buffer and it's not the end of file.
Submitted-By: Xin LI <delphij@FreeBSD.org>
Obatined-From: FreeBSD
Sascha Wildner [Fri, 1 Oct 2010 15:04:39 +0000 (17:04 +0200)]
Regenerate the pciconf(8) database
...from the following files:
Hart: Jan 22, 2008 (version 671)
Boemler: Oct 1, 2010
Mares: Aug 27, 2010
Sascha Wildner [Fri, 1 Oct 2010 05:24:20 +0000 (07:24 +0200)]
fdisk(8): Fix a bug when reading >1TB slice sizes from a config file.
The numerical parameters in configuration file lines were previously
read into signed integers. This would cause a problem with a config
file line like this (for a ~1.2TB slice):
p 1 165 63
2491404993
The length parameter (
2491404993) for the slice would have exceeded
INT_MAX (
2147483647) and the slice would have been truncated to 1TB.
Since the installer is using fdisk with a configuration file, it
was previously not possible to use a whole >1TB disk from it (one
had to work around it from the command line).
To fix all this, read the numerical parameters in configuration file
lines into a long long.
Note that this change only affects the variable type into which the
parameters read from the file are stored and not any on-disk structures.
Also, checks at different places in fdisk(8) will of course still ensure
that we don't ever go above 2TB.
Matthew Dillon [Fri, 1 Oct 2010 02:01:51 +0000 (19:01 -0700)]
sshd - Remove libmd from link to fix SHA*() function conflicts
* libmd conflicts with libcrypto, remove libmd from the link to fix
conflicts which were breaking putty connections to sshd.
Reported-by: Peter Avalos <peter@theshell.com>
Sascha Wildner [Fri, 1 Oct 2010 00:04:22 +0000 (02:04 +0200)]
SYSINIT.9: More mdoc fixes.
Sascha Wildner [Thu, 30 Sep 2010 22:41:38 +0000 (00:41 +0200)]
SYSINIT.9: Some cleanup (mostly whitespace).
Sascha Wildner [Thu, 30 Sep 2010 22:41:20 +0000 (00:41 +0200)]
dsched.9: Fix a typo.
Michael Neumann [Sun, 10 Oct 2010 21:33:31 +0000 (23:33 +0200)]
Fix warnings when compiled with ACPI_IO
Michael Neumann [Sun, 10 Oct 2010 21:00:06 +0000 (23:00 +0200)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly
Michael Neumann [Mon, 4 Oct 2010 09:18:43 +0000 (11:18 +0200)]
MP table: Do preliminary checks before claiming that the MP table is valid
Apply commit
fa0583846340dfc45e2c45fe65868c95f295d8df for x86_64.
Michael Neumann [Mon, 4 Oct 2010 09:12:25 +0000 (11:12 +0200)]
Put mp_nbusses and bus_data under APIC_IO
Apply commit
4f6a8b30c9ca96ca4df6ed16232bbc9eeba05a5e for x86_64.
Michael Neumann [Mon, 4 Oct 2010 08:58:12 +0000 (10:58 +0200)]
Staticize mp_nbusses
Apply commit
abe45f39559867d84370bf61f05b7649cd17a7b9 for x86_64.
Michael Neumann [Mon, 4 Oct 2010 08:56:06 +0000 (10:56 +0200)]
Remove bsp_apic_ready
Apply commit
ae996d5a08c195e14ffc9374645447d29611dd15 for x86_64.
Michael Neumann [Mon, 4 Oct 2010 08:53:52 +0000 (10:53 +0200)]
Correct the logical_cpus calculation in mptable_hyperthread_fixup()
Apply commit
7ea07fd226314dc116e1089cb39196610300b406 for x86_x64.
Matthew Dillon [Thu, 30 Sep 2010 18:10:38 +0000 (11:10 -0700)]
build - Correct compile errors on 64-bit buildworld
* printf formatting stuff in ssh-keygen
Sascha Wildner [Thu, 30 Sep 2010 17:14:26 +0000 (19:14 +0200)]
installer: Fix the HAMMER install.
Due to the recent change of some variables from unsigned to signed some
issues had crept in.
While here, clean up the function a bit and make the error message more
useful.
Matthew Dillon [Thu, 30 Sep 2010 16:47:03 +0000 (09:47 -0700)]
build - Adjust Makefile.usr to point at new pkgsrcv2.git repo
* Change 'pkgsrc.git' to 'pkgsrcv2.git'.
Sascha Wildner [Thu, 30 Sep 2010 00:54:30 +0000 (02:54 +0200)]
nrelease: Fold the mklocatedb target into customizeiso.
Also make it simpler by just using the periodic(8) script in the chroot.
Matthew Dillon [Thu, 30 Sep 2010 00:01:53 +0000 (17:01 -0700)]
kernel - Fix MP race in kmalloc/kfree
* Fix two cases where a zone is mis-handled by the new kfree(). Note,
however, that the race being fixed is nearly impossible (might even
BE impossible) to produce because it requires a slab to go from
completely empty to completely full through hysteresis and then destroyed
all in a few microseconds.
Essentially when a kfree() occurs on a cpu which is not the owner of
the zone the chunk is linked into a side-list on the zone using atomic
ops. Under certain (very rare) circumstances the cpu doing the kfree()
must IPI the cpu that owns the zone.
The moment the chunk is linked in the cpu owning the zone can race the
incoming IPI and destroy the zone (if it is now completely unused).
The old kmemusage code handled the race just fine but the new vm_page_t
based big-block handler could not.
The solution is to have an atomic-ops counter for inflight IPIs which
prevents the owning cpu from destroying the zone prematurely.
Matthew Dillon [Wed, 29 Sep 2010 21:48:17 +0000 (14:48 -0700)]
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Matthew Dillon [Wed, 29 Sep 2010 21:47:11 +0000 (14:47 -0700)]
kernel - More work on x86_64 low-memory configurations
* The nkpt calculation was wrong and could lead to too few kernel
page-tables during low level boot.
Try to calculate the correct value and then add 128 page tables just
to be safe.
Reported-by: John Marino
Peter Avalos [Wed, 29 Sep 2010 20:08:37 +0000 (10:08 -1000)]
Merge branch 'master' of /home/www-data/gitweb/dragonfly
Matthew Dillon [Wed, 29 Sep 2010 18:38:30 +0000 (11:38 -0700)]
kernel - Adjust KVA use on i386 and x86_64
The i386 changes recover another ~60MB of KVM for kernel use. This is an
attempt to further reduce KVM use based on bug reports from people running
production systems.
The x86_64 changes recognize the now much-larger KVM space (128G+) and
remove some i386-era limitations.
* i386 - Reduce the nominal maximum swbufs on i386 from 256 to 128,
saving 16MB of KVM (and also 16MB of real memory).
Now that we have swbufs both with and without kva we don't really
need so many with kva.
* i386 - Reduce pv_entry reservation on machines with maximal memory
configurations from 2.5-3M entries down to 1.4M entries.
In addition to fixing a bug which counted vm_page_array_size twice
(which is also fixed on x86_64 in this commit), also put a soft cap
of 1.4M pv entries. Most production machines never even get close
to the old cap and this saves us at least 45MB of KVM on machines
with 3G+ of ram.
The cap can be raised with a kenv boot variable (vm.pmap.pv_entries).
* x86_64 - Increase the maximum buffer cache size from 400MB to 1GB.
This will effect machines with >4G of ram. A machine with 8G of
ram will wind up with ~800MB worth of buffer cache.
In particular this should improve HAMMER's cache performance since
the presence of a cache bp is needed to circumvent the per-mount
lock. This may also improve flushes but it is hard to say.
Reported-by: Peter Avalos <peter@theshell.com>
Matthew Dillon [Wed, 29 Sep 2010 17:15:34 +0000 (10:15 -0700)]
netstat - Fix netstat -m on core dumps
* Aggregate all ncpus worth of stats when operating on a core dump instead
of just using cpu0. Otherwise the numbers will be wildly incorrect.
Reported-by: Peter Avalos <peter@theshell.com>
Sascha Wildner [Wed, 29 Sep 2010 14:42:26 +0000 (16:42 +0200)]
dsched.9: Fix typo
Sascha Wildner [Wed, 29 Sep 2010 14:41:23 +0000 (16:41 +0200)]
Add a dsched(9) manual page.
Submitted-by: alexh
Sascha Wildner [Wed, 29 Sep 2010 14:23:02 +0000 (16:23 +0200)]
mutex.9: Adjust .Nm a bit and fix FILES section.
Peter Avalos [Wed, 29 Sep 2010 10:14:54 +0000 (00:14 -1000)]
Update build for OpenSSH-5.6.
Venkatesh Srinivas [Wed, 29 Sep 2010 04:59:53 +0000 (21:59 -0700)]
Add a SYSINIT(9) manpage describing the SYSINIT macro.
Peter Avalos [Wed, 29 Sep 2010 02:05:08 +0000 (16:05 -1000)]
Merge branch 'vendor/OPENSSH'
Matthew Dillon [Wed, 29 Sep 2010 01:20:01 +0000 (18:20 -0700)]
kernel - Report actual real memory during kernel boot
* Calculate and report the actual real memory reported by the BIOS,
only counting memory types and ignoring other mapping types and holes.
* Report this value instead of the highest mapped address, reducing
user confusion. e.g. on a machine with 8G of ram:
real memory =
8858370048 (8448 MB) (before change)
avail memory =
7597334528 (7245 MB)
real memory =
8049428480 (7676 MB) (after change)
avail memory =
7597334528 (7245 MB)
real memory =
8452081664 (8060 MB) (after changing BIOS video 512M->128M)
avail memory =
7987879936 (7617 MB)
This all makes sense if you think about. The MB has on-board video and
the BIOS reserves video memory for it, so after taking that into account
the BIOS is really only eating around 4MB of ram for itself. The
"real memory" now correctly reflects memory remaining after the BIOS
took its cut whereas originally (the 8.4GB) was really more a reflection
of the highest mapped address, memory + IO/bus-space combined, and
did not accurately reflect how much memory the BIOS was handing to the
kernel.
Peter Avalos [Wed, 29 Sep 2010 01:03:24 +0000 (15:03 -1000)]
Import OpenSSH-5.6p1.
Matthew Dillon [Tue, 28 Sep 2010 23:16:05 +0000 (16:16 -0700)]
kernel - Move action_list out of vm_page, and change flags from 16->32 bits
* vm_page->action_list removed, saving 16 bytes per vm_page on x86_64
(8 on i386). Instead we add a flag to vm_page->flags, PG_ACTIONLIST,
and store the action registrations in a global hash table.
* Change vm_page->flags from a 16 to 32 bits, plus pad, adding 4 bytes
to the vm_page structure.
* x86_64 sizeof(struct vm_page) goes from 136 to 128, keeping in mind
that it grew from 132 to 136 with the addition of ku_pagecnt. So,
net-net, we have still managed to decrease the size of struct vm_page
by a little.
Matthew Dillon [Tue, 28 Sep 2010 22:46:34 +0000 (15:46 -0700)]
kernel - Increase MSGBUF_SIZE from 64K to 128K
* MSGBUF_SIZE is too small to hold a verbose boot, bump the default
up to 128K.
Matthew Dillon [Tue, 28 Sep 2010 22:42:55 +0000 (15:42 -0700)]
kernel - Greatly reduce kernel memory use for x86_64
* Remove the kmemusage array entirely and instead store ku_pagecnt
in the vm_page structure.
This allows x86_64 to boot with 128G of KVM without eating tons of
real memory, in addition to another recent commit which reduced
real memory use w/ large KVM spaces.
Reported-by: John Marino
Peter Avalos [Tue, 28 Sep 2010 21:48:42 +0000 (11:48 -1000)]
UPGRADING: Add a note about OpenSSL SHLIB_MAJOR bump.
Sascha Wildner [Tue, 28 Sep 2010 19:44:33 +0000 (21:44 +0200)]
Fix buildkernel when pfsync(4) is compiled into an x86_64 kernel.
Reported-by: Dheeraj Reddy <dheerajr@gmail.com>
Sascha Wildner [Tue, 28 Sep 2010 19:43:43 +0000 (21:43 +0200)]
Make acpi(4) compilable into an x86_64 kernel.
Note that this doesn't mean that we recommend building ACPI into the
kernel in any way. But it will still be needed once we get to having
some kind of LINT config for x86_64.
Tested-by: Dheeraj Reddy <dheerajr@gmail.com>
Sascha Wildner [Tue, 28 Sep 2010 01:18:50 +0000 (03:18 +0200)]
installer: Raise WARNS to 6 and fix resulting warnings.
Sascha Wildner [Tue, 28 Sep 2010 00:44:52 +0000 (02:44 +0200)]
installer: Add back comment.
Sascha Wildner [Tue, 28 Sep 2010 00:36:43 +0000 (02:36 +0200)]
installer: Adjustments to the sources.conf file.
/cdrom is not part of our hierarchy and /usr/src only gets created in
the running system.
While here, remove the code that handles falling back to an internal
table since we can rely on /usr/share/installer/sources.conf to exist
always.
Peter Avalos [Mon, 27 Sep 2010 22:15:42 +0000 (12:15 -1000)]
Bump SHLIB_MAJOR for libssl and libcrypto.
The latest OpenSSL upgrade caused some issues with existing 3rd-party
binaries. To get those programs to use the new OpenSSL, they'll need to
be relinked against the new libraries.
Matthew Dillon [Mon, 27 Sep 2010 16:07:29 +0000 (09:07 -0700)]
kernel - Fix incorrect vfs.cache sysctls (x86_64)
* The vfs.cache.numneg and vfs.cache.numcache sysctls were being defined
as unsigned longs when they are ints
* Remove duplicate debug. sysctls for numneg/numcache.
Matthew Dillon [Mon, 27 Sep 2010 15:15:31 +0000 (08:15 -0700)]
kernel - Fix NFS server deadlock
* _cache_cleanneg() was calling cache_zap() with the non-blocking argument
set to FALSE, causing numerous out-of-order locking situations which
could march up the topology and cause a deadlock.
Fixed by calling cache_zap() with the non-blocking argument set to TRUE.
* This was particularly obvious when running a buildworld with a loopback
NFS mount for /usr/obj, which generates lots of negative cache activity,
but theoretically could cause deadlocks even without using NFS.
Reported-by: YONETANI Tomokazu <qhwt.dfly@les.ath.cx>
Sascha Wildner [Mon, 27 Sep 2010 14:11:41 +0000 (16:11 +0200)]
installer: Slightly change the item order in the configure menu.
Move the "Set keyboard map" item before the "Set root password" item
in order to prevent accidental foot-shooting.
Submitted-by: matthias
Sascha Wildner [Mon, 27 Sep 2010 11:48:11 +0000 (13:48 +0200)]
cryptsetup: Port API test to DragonFly.
Sascha Wildner [Mon, 27 Sep 2010 01:17:03 +0000 (03:17 +0200)]
Add libcryptsetup and libluks.
Sascha Wildner [Mon, 27 Sep 2010 11:54:06 +0000 (13:54 +0200)]
liblvm: Minor cleanup in the Makefile.
Matthias Schmidt [Mon, 27 Sep 2010 07:01:54 +0000 (09:01 +0200)]
UPDATING - Remove CVS Id
This could confuse users as the date of the ID is in the past. Adapt style
while here.
Robert Garrett [Mon, 27 Sep 2010 03:31:24 +0000 (20:31 -0700)]
test commit
Justin C. Sherrill [Mon, 27 Sep 2010 02:02:30 +0000 (19:02 -0700)]
Added notes about BIND moving to pkgsrc version for <2.7 -> 2.8 upgrades.
Peter Avalos [Sun, 26 Sep 2010 22:38:45 +0000 (12:38 -1000)]
Update build for OpenSSL-1.0.0a.
-Add Camellia, CMS, GOST, MDC-2, modes, SEED, ts, and Whirlpool. mdc2
is freely available since its patent expired in 2002.
-Remove md2 for CVE-2009-2409.
-See CHANGES for the enitire changeset.
Peter Avalos [Sun, 26 Sep 2010 22:19:45 +0000 (12:19 -1000)]
Merge branch 'vendor/OPENSSL'
Peter Avalos [Wed, 22 Sep 2010 11:21:58 +0000 (01:21 -1000)]
Import OpenSSL-1.0.0a.
Matthew Dillon [Sun, 26 Sep 2010 21:47:28 +0000 (14:47 -0700)]
vkernel - Add support for cdevs as virtual disks (2)
* I missed a spot where the lseek() hack is needed. Fixed.
Matthew Dillon [Sun, 26 Sep 2010 18:46:20 +0000 (11:46 -0700)]
kernel - Rearrange pmap_growkernel() and fix up x86_64's pmap_growkernel()
* Rearrange pmap_growkernel() to pass an address range instead of just an
end address.
* vm_map() no longer retries after calling pmap_growkernel(), the function
either succeeds or panics.
* x86_64 - kldloading modules after system boot no longer populates 128GB
worth of page tables (which eats ~256MB of ram) in order to push
kernel_vm_end past KERNBASE.
Instead, any kldloads into the space beyond KERNBASE, which is required
to be able to link them into the kernel due to 32-bit PC-relative
addressing, will populate just the required page tables and will not
bump up kernel_vm_end.
* Fixes a panic which can occur well after boot when kldload'ing the first
module, if 256MB worth of free pages is not instantly available.
* Saves us 256M of ram on x86_64.
Matthias Schmidt [Sun, 26 Sep 2010 17:27:44 +0000 (19:27 +0200)]
df fortune - Bring some entries closer to reality
Matthias Schmidt [Sun, 26 Sep 2010 14:04:30 +0000 (16:04 +0200)]
pkg_search - Replace avalon with mirror-master
and remove CVS-Id while here
Peter Avalos [Sun, 26 Sep 2010 08:37:01 +0000 (22:37 -1000)]
OpenSSL: Set the date for manual pages to the release date.
Matthew Dillon [Sun, 26 Sep 2010 04:00:04 +0000 (21:00 -0700)]
vkernel - Add support for cdevs as virtual disks
* Allow a cdev to be directly specified as a virtual disk.
Peter Avalos [Sun, 26 Sep 2010 02:00:01 +0000 (16:00 -1000)]
libcrypto: There's no need to test for WANT_IDEA twice.
Peter Avalos [Sun, 26 Sep 2010 01:53:50 +0000 (15:53 -1000)]
OpenSSL: Define little endian on x86_64.
We only support little endian archs, so remove the test, and just put it
with the rest of CFLAGS.
Sascha Wildner [Sun, 26 Sep 2010 00:40:18 +0000 (02:40 +0200)]
installer: Suppress . in the hostname if the user didn't specify a domain.
Submitted-by: matthias
Peter Avalos [Sun, 26 Sep 2010 00:08:24 +0000 (14:08 -1000)]
OpenSSL: Eliminate some options from CFLAGS.
These are already included in opensslconf.h, so there's no need to put
them in CFLAGS too.
Matthew Dillon [Sat, 25 Sep 2010 23:10:48 +0000 (16:10 -0700)]
kernel - Fix rare token overwrite race
td_toks_stop was being decremented prior to releasing the token reference
and cleaning up the optional mp lock. This left a very small
one-instruction opening where the following sequence of events could
occur:
* While releasing the ref in 'if (tok->t_ref == ref) tok->t_ref = NULL;'
a fast interrupt could come along, acquire a token reusing our ref,
then release it.
* A thread on another cpu then successfully acquires the now released
token.
* The fast interrupt returns our interrupted thread resumes with the
execution of 'tok->t_ref = NULL;'.
* The other thread asserts on the missing token ref or otherwise performs
actions which assume the token is still held when it is not due to
the first thread blowing it up.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>
Matthew Dillon [Sat, 25 Sep 2010 20:17:31 +0000 (13:17 -0700)]
docs - Adjust swapcache.8
* Clarify the lack of clarity on read-disturb effects. Expand the
write endurance section a bit incorporating the results from long-term
testing on pkgbox64.
Jan Lentfer [Sat, 25 Sep 2010 19:23:40 +0000 (21:23 +0200)]
Add prototype for devfs_assume_knotes()
Fixes buildkernel problem
Matthew Dillon [Sat, 25 Sep 2010 17:43:55 +0000 (10:43 -0700)]
kernel - Bring devfs_assume_knotes() uptodate and fix panic
* devfs_assume_knotes() was blindly transfering the knotes without
properly acquiring their soft-lock.
The problem was easily reproducable by running 'moused -p /dev/ums0'
and then unplugging the mouse.
* Move the core of the routine into a new procedure in kern_event.c
called knote_assume_knotes() which properly acquires and releases
the underlying knotes.
Matthew Dillon [Sat, 25 Sep 2010 14:58:12 +0000 (07:58 -0700)]
HAMMER VFS - Fix two ip->vp inode/vnode races
* nrename and nremove attempt to dereference ip->vp. Because ip->vp has
no other references in these code paths the operation can race and
either assert or panic on a null-pointer dereference.
Fix by formally acquiring the vnode before trying to dereference it.
* All other cases are passed a referenced vnode or properly acquire it
(e.g. nresolve), and did not have this issue.
Peter Avalos [Sat, 25 Sep 2010 11:21:43 +0000 (01:21 -1000)]
OpenSSL: Fix includes insanity.
Use INCS instead of the hard-to-understand and rustic stuff that was
there.
Matthias Schmidt [Sat, 25 Sep 2010 07:20:19 +0000 (09:20 +0200)]
Merge branch 'master' of git://git.dragonflybsd.org/dragonfly
Matthias Schmidt [Sat, 25 Sep 2010 07:17:09 +0000 (09:17 +0200)]
pkg_radd - Minor changes for script and man page
- chlamydia is down, so rephrase the man page with some more generic
text
Reported-by: Przemyslaw Pawelczyk <pp_o2@o2.pl>
- Change URL from avalon to mirror-master in pkg_radd.sh
Peter Avalos [Sat, 25 Sep 2010 06:59:38 +0000 (20:59 -1000)]
Fix typo in last commit.
Peter Avalos [Sat, 25 Sep 2010 06:24:48 +0000 (20:24 -1000)]
Fix WANT_IDEA knob.
I broke this in my last OpenSSL import. Add a note to README.DRAGONFLY
to automatically generate opensslconf.h when Configure is run, and
adjust Makefile.inc to compensate for the generated code.
Matthew Dillon [Sat, 25 Sep 2010 05:00:28 +0000 (22:00 -0700)]
kernel - Remove debugging kprintf
* Remove "td %p (%s) unexpectedly rescheduled" from the tsleep() path.
This case is still undesired but it can happen through normal operation
due to explicit lwkt_schedule()'s or delayed schedules from interlocked
tsleep()s. Don't kprintf a warning when it happens any more.
Matthew Dillon [Sat, 25 Sep 2010 01:01:25 +0000 (18:01 -0700)]
network - NFS Stability / races
* Fix additional races in the upcall interactions which can cause
a nfsd to not get woken up when it should.
* Medium revamp of the SLP_* flags.
* Add NFSRV_RECLIMIT() macro and do a better job limiting the number
of pending records taken off a socket.
* Fix a memory leak in the M_NFSSVC kmalloc pool. Each time the
server lost a socket it leaked a little memory. Now it does not.
Matthew Dillon [Fri, 24 Sep 2010 17:01:12 +0000 (10:01 -0700)]
net80211 - Fix missing rcvif assignment in ieee80211_fragment()
* When the 80211 code decides it must fragment a packet for the logical
device layer the pkthdr.rcvif for the fragments must be copied from
the original, otherwise the underlying device will panic trying to
locate the node.
* Untested but hopefully fixes an issue reported with wpi.
Matthew Dillon [Fri, 24 Sep 2010 16:58:09 +0000 (09:58 -0700)]
network - Restart the callout timer when setting TCP_FASTKEEP
* When TCP_FASTKEEP is enabled we must reload the callout with the shorter
timeout. If we allow the longer timeout to expire and the connection
remains idle the tcp connection will be dropped when the longer timeout
expires since it will have exceeded the maximum calculation.
* Fixes noisy but otherwise benign NFS messages on the console.
* Abstract the tcp activity function into tcp_timer_keep_activity() so
we can call it from both usrreq and tcp_input.
Nuno Antunes [Fri, 24 Sep 2010 16:24:26 +0000 (17:24 +0100)]
Revert part of the previous commit.
* 'Iff' is the shortened version of 'if and only if'.
See http://en.wikipedia.org/wiki/If_and_only_if.
Pointed-out-by: swildner@
Nuno Antunes [Fri, 24 Sep 2010 16:11:58 +0000 (17:11 +0100)]
Fix typos in share/mk/bsd.README.
* The variable name is DPADD not SRCLIB.
* Correctly spell 'if'.
Matthew Dillon [Fri, 24 Sep 2010 15:44:20 +0000 (08:44 -0700)]
kernel - Close big race in kqueue
* Refactor the KN_PROCESSING abstraction. Remove shortcuts and use it
in ALL knote-handling situations. One place in the EV_DELETE handling
was broken and one or two other places were not handling REPROCESS
requests properly.
* Overnight buildworld -j 8 now succeeds with NFS mounted /usr/src. It
used to panic after a few runs with a kqueue-related assertion.
Joe Talbott [Fri, 24 Sep 2010 12:07:26 +0000 (08:07 -0400)]
UPDATING - Add a note about 2.6 -> 2.8/HEAD upgrade /boot requirements
Suggested-By: Steve O'Hara-Smith and Dennis Melentyev
Joe Talbott [Fri, 24 Sep 2010 00:53:08 +0000 (20:53 -0400)]
loader.conf(5) - Document 'fred_on_left' loader variable.
Joe Talbott [Thu, 23 Sep 2010 20:00:09 +0000 (16:00 -0400)]
dloader - Add Fred to the menu.
* 'fred_disable' in loader.conf reverts to original dloader menu.
* 'loader_color' in loader.conf is now supported again.
* 'fred_on_left' in loader.conf puts Fred on the left of the menu.
Discussed-With: Sascha Wildner
Suggested-By: Sascha Wildner
Suggested-By: Thomas Nikolajsen
Joe Talbott [Thu, 23 Sep 2010 19:59:15 +0000 (15:59 -0400)]
dloader - Add dvar_istrue() to test boolean variables.
* Accepts any form of 'yes', 'true', 'on', or '1' as true.
Sascha Wildner [Fri, 24 Sep 2010 11:15:32 +0000 (13:15 +0200)]
cryptsetup: In the tests, use /usr/bin/env for locating pkg binaries.
Sascha Wildner [Fri, 24 Sep 2010 09:32:25 +0000 (11:32 +0200)]
gnu/lib/Makefile: Clean up a bit.
Nuno Antunes [Fri, 24 Sep 2010 10:40:51 +0000 (11:40 +0100)]
test commit
Matthias Schmidt [Fri, 24 Sep 2010 10:13:14 +0000 (12:13 +0200)]
rc.conf(5) - Add information howto start wlan(4) devices
Obtained-From: FreeBSD
Matthew Dillon [Fri, 24 Sep 2010 07:16:06 +0000 (00:16 -0700)]
build - Clarify instalkernel requirements when upgrading /boot
* When upgrading a system from the old /boot format to the new /boot
format clarify the error message when someone tries to install a
new kernel onto an old /boot.
It now indicates specifically suggests doing a buildworld / installworld
sequence first.
Matthew Dillon [Fri, 24 Sep 2010 05:36:08 +0000 (22:36 -0700)]
network - Fix a sleep/wakeup race in NFS (server), implement faster keepalives
* Fix a sleep/wakeup MP race in the NFS server where the server can receive
data but fails to wakeup one of its nfsds.
* Set a faster keepalive timeout for NFS client and server. Currently
75 seconds (instead of 2 hours). This solves a problem when connectivity
is lost with the server for long enough that the server kills the
connection, or if the server fails while processing a nfs request
from the client.
If the client is stuck waiting for the reply it can wind up waiting
for the entire keepalive period before recovering, even if connectivity
with the server is re-established. This way the client will proactively
determine that the connection is dead within 75 seconds and re-establish
it.
* The value of the timeout is taken from net.inet.tcp.keepintvl
(instead of net.inet.tcp.keepalive), which defaults to 75 seconds
at the moment.
Matthew Dillon [Fri, 24 Sep 2010 05:35:16 +0000 (22:35 -0700)]
network - Add a tcp socket for faster keepalive timeouts
* Add a new socket opt, TCP_FASTKEEP, which enables faster keepalive
timeouts on a tcp socket. This will be used by NFS.
Matthew Dillon [Fri, 24 Sep 2010 02:59:32 +0000 (19:59 -0700)]
kernel - lapic pointer was still not quite correctly initialized
* A conditional in the new MADT code was bypassing the lapic pointer
mapping in certain circumstances, causing the machine to lockup in the
low level boot.
Matthew Dillon [Fri, 24 Sep 2010 00:24:53 +0000 (17:24 -0700)]
kernel - Close small race in kqueue
* Normalize the kn_status reprocessing code to close a race.
A knote_detach_and_drop() during a descriptor close can set
KN_DELETING and return, leaving a knote undergoing processing
by another thread marked deleted.
If the other thread is trying to execute a filter the filter can
wind up being run after the file pointer has been detached
from the knote, resulting in a panic.
* All KN_DELETING and KN_WAITING flags also now set KN_REPROCESS and
all KN_REPROCESS handling is dealt with the same way. The filter
is run if KN_REPROCESS is not set and if it is set any KN_DELETING
and KN_WAITING flags are dealt with before the filter is run.