jeff [Sat, 4 Jun 2005 09:23:28 +0000 (09:23 +0000)]
- Don't SLOT_USE() in the preempt case, sched_add() has already taken the
slot for us. Previously, we would take two slots on every preempt, and
setrunqueue() would fix it up for us in the non threaded case. The
threaded case was simply broken.
- Clean up flags, prototypes, comments.
Changes to tcp_sack_option() that
- Walks the scoreboard backwards from the tail to reduce the number of
comparisons for each sack option received.
- Introduce functions to add/remove sack scoreboard elements, making
the code more readable.
Submitted by: Noritoshi Demizu
Reviewed by: Raja Mukerji, Mohan Srinivasan
Wrap copyin/copyout for kevent so the 32bit wrapper does not have
to malloc nchanges * sizeof(struct kevent) AND/OR nevents *
sizeof(struct kevent) on every syscall.
imp [Fri, 3 Jun 2005 20:12:12 +0000 (20:12 +0000)]
In newbus land, ivars can only be accessed for direct child, or when
the driver has unholy private knowledge of its great-*cgrandchildren.
The ACPI allocation routine lacked such knowledge when it tried to do
a default allocation for all descendants, rather than just its
immeidate children, so would access grandchild's ivar in an unsafe
way. This could lead to a panic when devices were present which had
no addresses setup by the BIOS, but which were later allocated in a
lazy manner via pci_alloc_map. As such, only do the default
allocation adjustments for immediate children. The manner that
acpi_sysres_find accesses the resource list, used later in
acpi_alloc_resource, is safe and proper so no additional test is
needed there.
This fixes a panic when probing an disabled ata controller on some
newer intel blades.
imp [Fri, 3 Jun 2005 19:41:06 +0000 (19:41 +0000)]
Mask off the bar's value after the probe test write before testing
against 0 in pci_alloc_map, just like we do in pci_add_map. Also,
make sure that we restore the value to the BAR that was there before
if the bar is 0. Chances are that it was 0 before the write too and
that the restoration is a nop, but better safe than sorry.
jmallett [Fri, 3 Jun 2005 18:42:49 +0000 (18:42 +0000)]
Remove my involvement from the regression test stuff, I don't know the modified
framework well, and nobody's ever sought my help with writing regression tests,
most people just don't bother with them at all, regrettably.
hrs [Fri, 3 Jun 2005 18:37:16 +0000 (18:37 +0000)]
New release notes:
FreeBSD/i386 and /amd64 always use the local APIC timer even
on an UP system,
vm.blacklist tunable added,
ipfw now supports IPv4 only rule,
struct netent and getnetbyaddr(3) POSIX conformance and
the ABI breakage on 64-bit platforms, and
GNU GCC 3.4.2-prerelease --> 3.4.4.
Update release notes:
more machine-specific optimized version of math functions.
gallatin [Fri, 3 Jun 2005 12:37:56 +0000 (12:37 +0000)]
Remove myself as maintainer of the OSF/1 compat code. I haven't had
an alpha booting -current since my xp1000 died over a year ago, and I
don't think I touched the osf1 code since long before then.
Remove the EXAMPLES section that describes how to sort by size using
sort(1). This functionality is provided by the -S option now, and it
is useful even though a similar effect is achievable with sort(1),
since the latter doesn't work in combination with -h. This option is
also present in NetBSD, OpenBSD, and GNU fileutils, so there's clearly
a demand for it.
Add the -S option to sort files by size. NetBSD and OpenBSD already
have this option with identical semantics (sorting large files first).
-r can be used to reverse the sort if that is desired.
ume [Fri, 3 Jun 2005 03:32:06 +0000 (03:32 +0000)]
- Remove padding for ABI compatibility of n_net member from struct
netent.
- Change 1st argument of getnetbyaddr() to an uint32_t on 64 bit
arch as well to confirm to POSIX-2001.
These changes break ABI compatibility on 64 bit arch.
There is similar padding issue for ai_addrlen of struct addrinfo.
However, it is leaved as is for now.
Discussed on: arch@, standards@ and current@
X-MFC after: never
peter [Thu, 2 Jun 2005 21:28:33 +0000 (21:28 +0000)]
Add a 'statement of intent' blurb to the top of MAINTAINERS. Split
the role of MAINTAINERS into advisory and strict parts. Introduce a
new LOCKS file to document enforced locked parts of the tree.
Strict locks are only added with core approval and will generally
have a renewal timeout.
Clarify that the source tree is a community effort, not a place to stake
out 'turf'.
marcel [Thu, 2 Jun 2005 05:34:08 +0000 (05:34 +0000)]
Fix the load64 and store64 macros, created to handle 8-byte unaligned
loads and stores (resp.) The ldq_u and stq_u instruction mask off the
lower 3 bits of the final address before loading from or storing to
the address, so as to avoid unaligned loads and stores. They do not
themselves allow loads from or stores to unaligned addresses. Replace
the macro definitions by a packed struct dereference.
Submitted by: Richard Henderson (rth at twiddle dot net)
iedowse [Thu, 2 Jun 2005 00:04:08 +0000 (00:04 +0000)]
Use IFF_LOCKGIANT/IFF_UNLOCKGIANT around calls to the interface
if_ioctl routine. This should fix a number of code paths through
soo_ioctl() that could call into Giant-locked network drivers without
first acquiring Giant.
kientzle [Wed, 1 Jun 2005 15:52:39 +0000 (15:52 +0000)]
Remove the C99-specific __func__ that is one of the few barrier to
compiling on IRIX and Solaris. Remove the "archive_check_magic" macro
that existed only to provide __func__ to the underlying __archive_check_magic
function.
kientzle [Wed, 1 Jun 2005 15:44:23 +0000 (15:44 +0000)]
A minor refinement to "pax" output: Remove suid/sgid/sticky bits
from mode before using mode for extended attributes entry, copy
mtime/atime/ctime to extended attributes entry so it's a little more
clear that it corresponds to the like-named regular entry.
rwatson [Wed, 1 Jun 2005 12:14:56 +0000 (12:14 +0000)]
When aborting tcp_attach() due to a problem allocating or attaching the
tcpcb, lock the inpcb before calling in_pcbdetach() or in6_pcbdetach(),
as they expect the inpcb to be passed locked.
rwatson [Wed, 1 Jun 2005 12:06:07 +0000 (12:06 +0000)]
Assert tcbinfo lock in tcp_drop() due to its call of tcp_close()
Assert tcbinfo lock in tcp_close() due to its call to in{,6}_detach()
Assert tcbinfo lock in tcp_drop_syn_sent() due to its call to tcp_drop()
delphij [Wed, 1 Jun 2005 09:39:36 +0000 (09:39 +0000)]
Add a handy macro to represent null mount option, MOPT_NULL, and make
use of the macro in sbin/mount*'s, by replacing:
mopts[] = {
MOPT_STDOPTS,
{ NULL }
}
With:
mopts[] = {
MOPT_STDOPTS,
MOPT_NULL
}
This change will help to reduce the situation that we don't explicitly
initialize "struct mntopt"'s. It should not contribute to any
functional/logical changes as far as I can tell.
jhb [Tue, 31 May 2005 21:33:33 +0000 (21:33 +0000)]
Don't enable I/O or memory mode in a device's command register if the BAR
we are processing has a base address of zero. Note that this will only
change behavior for devices where all the BARs of a given type have a base
address of 0 since we will enable the appropriate access when we encounter
the first BAR with a base that is not 0. Specifically, this allows certain
Toshiba laptops to no longer require 'hw.pci.enable_io_modes=0' to avoid
hangs during boot.