8 years agoAdd a NO_BINUTILS221 option (like NO_GCC41) to not build older binutils.
Sascha Wildner [Thu, 15 Dec 2011 09:57:57 +0000 (10:57 +0100)]
Add a NO_BINUTILS221 option (like NO_GCC41) to not build older binutils.

Reported-by: ftigeot
8 years agovquota(8): More style fixes.
Sascha Wildner [Thu, 15 Dec 2011 09:42:03 +0000 (10:42 +0100)]
vquota(8): More style fixes.

8 years agointr: Per-cpu MI interrupt information array
Sepherosa Ziehau [Thu, 15 Dec 2011 05:47:26 +0000 (13:47 +0800)]
intr: Per-cpu MI interrupt information array

- Interrupt information is only recorded in its target CPU's interrupt
  information array.
- Interrupt threads, emergency polling threads, interrupt livelock
  processing and hardware interrupt threads scheduling only access
  the interrupt information of the CPU they are running on; they have
  already been locked to the interrupt's target CPU.
- Location of SWI information is saved in a global array swi_info_ary,
  since scheduling SWI does not necessarily happens on the CPU that
  SWI thread is running, we need a quick and correct way find the SWI
- Factor out sched_ithd_intern, which accept interrupt information
  (struct intr_info) instead of interrupt number.  Split the original
  sched_ithd() into sched_ithd_soft(), which schedules SWI thread, and
  sched_ithd_hard() which schedules hardware interrupt thread.
- vmstat(8) interrupt reporting w/ -v is augmented to print the interrupts'
  target CPU.

This paves way to the per-cpu MD interrupt description table

8 years agokernel - Update loader.conf documentation and add sio comconsole unit specifier
Matthew Dillon [Thu, 15 Dec 2011 01:12:51 +0000 (17:12 -0800)]
kernel - Update loader.conf documentation and add sio comconsole unit specifier

* Update the loader.conf documentation to describe how the boot loader and
  kernel can use a serial port and baud rate other than the default for

  Also describe how to recompile the boot loader.

  Describe how IPMI can be tied into the boot loader and kernel via
  the built-in fake serial port in the BMC (often COM2).

* Add a kenv feature to allow the sioN.flags to be specified in loader.conf.
  This allows the comconsole to be moved to e.g. sio1 without having
  to recompile the kernel.

8 years agovquota(8): finish implementing the check command
Francois Tigeot [Mon, 10 Oct 2011 20:08:08 +0000 (22:08 +0200)]
vquota(8): finish implementing the check command

* collect the sums of file sizes for each used uid and gid
  and display them

8 years agovquota(8): add code to manage hard links
Francois Tigeot [Sun, 25 Sep 2011 20:40:27 +0000 (22:40 +0200)]
vquota(8): add code to manage hard links

* Add an inode number caching infrastructure to only count file size
  once for files with more than one hard link.

* The new code is used by the vquota check command

8 years agoahci(4): Add MODULE_VERSION.
Sascha Wildner [Wed, 14 Dec 2011 19:21:42 +0000 (20:21 +0100)]
ahci(4): Add MODULE_VERSION.

8 years agokernel/vfs_quota: Fix the placement of braces.
Sascha Wildner [Wed, 14 Dec 2011 13:32:45 +0000 (14:32 +0100)]
kernel/vfs_quota: Fix the placement of braces.

8 years agoNULL VFS: store PFS mount points for later use
Francois Tigeot [Wed, 24 Aug 2011 20:00:28 +0000 (22:00 +0200)]
NULL VFS: store PFS mount points for later use

* This is a hack to obtain the pfs mount point in vop_write()

* PFSes use nullfs mounts. Unfortunately, the nullfs implementation
  does not respect the traditional vfs/vnode layers and its vnodes
  may belong to many mount point at once.

* What's worse, the mount point passed to VFS functions is the one
  of the underlying non-PFS filesystem.

* We use the namecache layer to put the upper mount point of the
  PFS in a new vnode field to work around this limitation.

8 years agoUse a sysctl to show if VFS accounting is enabled
François Tigeot [Wed, 14 Dec 2011 13:11:25 +0000 (14:11 +0100)]
Use a sysctl to show if VFS accounting is enabled

* Both the loader tunable and the sysctl are now called

8 years agoDisable VFS accounting by default
François Tigeot [Wed, 14 Dec 2011 09:53:46 +0000 (10:53 +0100)]
Disable VFS accounting by default

* Enable it globally with vfs.accounting.enable="1" in loader.conf

8 years agoFix some overlooked references in manual pages (malloc(9) -> kmalloc(9)).
Sascha Wildner [Wed, 14 Dec 2011 11:03:16 +0000 (12:03 +0100)]
Fix some overlooked references in manual pages (malloc(9) -> kmalloc(9)).

8 years agolibprop: Fix some references in the manual pages (malloc(9) -> kmalloc(9)).
Sascha Wildner [Wed, 14 Dec 2011 10:38:20 +0000 (11:38 +0100)]
libprop: Fix some references in the manual pages (malloc(9) -> kmalloc(9)).

8 years agointr: Per-CPU emergency thread
Sepherosa Ziehau [Wed, 14 Dec 2011 09:51:46 +0000 (17:51 +0800)]
intr: Per-CPU emergency thread

8 years agointr: Remove the broken sysctl_intrcnt(); use sysctl_intrcnt_all() instead
Sepherosa Ziehau [Wed, 14 Dec 2011 08:59:50 +0000 (16:59 +0800)]
intr: Remove the broken sysctl_intrcnt(); use sysctl_intrcnt_all() instead

8 years agointr: Nuke count_registered_ints()
Sepherosa Ziehau [Wed, 14 Dec 2011 08:20:41 +0000 (16:20 +0800)]
intr: Nuke count_registered_ints()

The only caller of this function icu_reinit() actually was broken
for a logn time; it needs to be reworked

8 years agointr: Remove unused function
Sepherosa Ziehau [Wed, 14 Dec 2011 08:10:45 +0000 (16:10 +0800)]
intr: Remove unused function

8 years agomake - Do not try to track stopped/continued processes
Matthew Dillon [Wed, 14 Dec 2011 03:40:06 +0000 (19:40 -0800)]
make - Do not try to track stopped/continued processes

* There are bugs in make which I haven't tracked down related to the
  handling of stopped/continued processes.

* Work around the problem by removing the use of WUNTRACED in one of the
  several waitpid() use cases.  It is unclear why one would ever want to
  try to track signals to processes for this case.

* This fixes a "couldn't resume %s" error from make when a large -j N
  build is repeatedly ^Z'd and continued.

8 years agokernel - Fix signal races against exiting processes
Matthew Dillon [Wed, 14 Dec 2011 03:37:04 +0000 (19:37 -0800)]
kernel - Fix signal races against exiting processes

* Fix a panic which can occur when a signal races an exiting process.

* Fix an incorrect status return from the wait*() system calls which
  can sometimes occur when a SIGTSTP or other signal races an exit.

  Do not allow the signal status to overwrite the exit value.

* Fix a race where the kill() system call can return ESRCH when a signal
  races an exiting process which has already entered the zombie state.

  Return success in this case and silently drop the signal.

8 years agoFix wrong argument to allproc_scan in elf_brand_inuse()
YONETANI Tomokazu [Tue, 13 Dec 2011 21:44:37 +0000 (06:44 +0900)]
Fix wrong argument to allproc_scan in elf_brand_inuse()

the callback expects data to be the address of elf_brand_inuse_info
but the caller passed something else.  this fixes kernel panic upon
`kldunload linux'.

8 years agoVFS accounting: add a new vquotactl() syscall
Francois Tigeot [Tue, 16 Aug 2011 10:01:27 +0000 (12:01 +0200)]
VFS accounting: add a new vquotactl() syscall

* It uses a proplib(3) based interface to pass messages between
  kernel and userland

* It may be used to handle different commands in the future

* For now, only implement one displaying the contents of the
  space counters for a particular mount point

* Also add a debug flag to vquota(8) showing messages exchanged
  between kernel and userland

8 years agoecc(4): Move from sys/dev/bridge to sys/dev/misc.
Sascha Wildner [Tue, 13 Dec 2011 17:17:31 +0000 (18:17 +0100)]
ecc(4): Move from sys/dev/bridge to sys/dev/misc.

While here, make it compilable into the kernel and add it to the LINTs.

8 years agoecc.4: Update manual page for X3400 support.
Sascha Wildner [Tue, 13 Dec 2011 14:51:51 +0000 (15:51 +0100)]
ecc.4: Update manual page for X3400 support.

8 years ago<sys/elf_common.h>: Add an EM_ALPHA #define.
Sascha Wildner [Tue, 13 Dec 2011 13:40:40 +0000 (14:40 +0100)]
<sys/elf_common.h>: Add an EM_ALPHA #define.

It seems to help with building openjdk.

The value the same in binutils too.

Taken-from: FreeBSD
Reported-by: dfcat on #dragonflybsd
8 years agoi386/ioapic: Always allow user to specify GSI's target CPU
Sepherosa Ziehau [Tue, 13 Dec 2011 13:34:45 +0000 (21:34 +0800)]
i386/ioapic: Always allow user to specify GSI's target CPU

This merges b8dfb6b1be7001e8dc00e5bc9e6efb85a5e0f4ab

8 years agoi386/icu: Implement rman_setup MachIntrABI method
Sepherosa Ziehau [Tue, 13 Dec 2011 13:28:41 +0000 (21:28 +0800)]
i386/icu: Implement rman_setup MachIntrABI method

This merges b3cf468e65fcb31e33ab367c068eee119db92491

8 years agoi386/ioapic_abi: Implement MachIntrABI.rman_setup
Sepherosa Ziehau [Tue, 13 Dec 2011 12:15:33 +0000 (20:15 +0800)]
i386/ioapic_abi: Implement MachIntrABI.rman_setup

This merges 981239a7fd1d95a113e7526e3bef62975ff0f114

8 years agoecc: ecc: Support the ECC error detection for Xeon X3400 family
Sepherosa Ziehau [Tue, 13 Dec 2011 10:06:56 +0000 (18:06 +0800)]
ecc: ecc: Support the ECC error detection for Xeon X3400 family

8 years agoioapic/x86_64: Fix x86_64 buildkernel with gcc41 (syncs with i386).
Sascha Wildner [Tue, 13 Dec 2011 09:44:35 +0000 (10:44 +0100)]
ioapic/x86_64: Fix x86_64 buildkernel with gcc41 (syncs with i386).

In-discussion-with: sephe

8 years agoecc.4: Sync with current developments.
Sascha Wildner [Tue, 13 Dec 2011 09:31:26 +0000 (10:31 +0100)]
ecc.4: Sync with current developments.

8 years agoUFS VFS: initialize f_mntonname for the root mp
Francois Tigeot [Sat, 10 Dec 2011 18:24:00 +0000 (19:24 +0100)]
UFS VFS: initialize f_mntonname for the root mp

Taken from: OpenBSD

8 years agoHAMMER VFS: record the name of the mount directory
Francois Tigeot [Mon, 15 Aug 2011 12:42:23 +0000 (14:42 +0200)]
HAMMER VFS: record the name of the mount directory

* It has to be set at mount time in mp->mnt_stat.f_mntonname.

* Contrary to most filesystems, Hammer didn't do it.

* The new code was taken from ffs_mount() and OpenBSD's vfs_rootmountalloc()

8 years agoecc: Support the ECC error detection for Xeon E3-1200 family
Sepherosa Ziehau [Thu, 8 Dec 2011 09:02:36 +0000 (17:02 +0800)]
ecc: Support the ECC error detection for Xeon E3-1200 family

- ecc no longer replaces hostb, instead, it becomes a device under hostb
- Clean up the code a little bit
- Split ecc.c into individual files based on device type

8 years agobitops: Add __BIT64 and __BITS64
Sepherosa Ziehau [Tue, 13 Dec 2011 01:44:05 +0000 (09:44 +0800)]
bitops: Add __BIT64 and __BITS64

8 years agotcp: Fix the long standing negative offset panic on output path
Sepherosa Ziehau [Mon, 12 Dec 2011 07:28:04 +0000 (15:28 +0800)]
tcp: Fix the long standing negative offset panic on output path

This problem shows itself as:
- so_snd is empty
- snd_nxt is less than snd_una, thus stack variable 'off' will be
  negative and stack 'len' variable calculated from 'off' could
  be positive.
- The later on m_copydata() at 'send' label hit the panic, since
  the 'off' passed in is negative

i.e. The panic is triggered by wrong snd_nxt and snd_una

After analysing the coredump, if following things happened, snd_nxt
would be less than snd_una when tcp_output was entered:
1) The SYN was sent to the network.  (snd_nxt=iss+1, snd_una=iss)
2) The retransmit timeout happened for the SYN we had sent, however,
   the MGETHDR on the tcp_output path failed.  (snd_nxt=iss, snd_una=iss)
3) Later on the SYN|ACK for the SYN sent in step 1) came, before
   tcp_output, snd_una=iss+1, while snd_nxt=iss, thus snd_nxt<snd_una

To fix the panic, we just perform all of the state updates as if
MGETHDR was successful in step 2), so snd_nxt could be properly
updated (snd_nxt=iss+1)

Reported-by: pavalos@
8 years agoRevert "i386/files: isa/clock.c is clean enough to compile w/ -Werror"
Sascha Wildner [Mon, 12 Dec 2011 21:36:51 +0000 (22:36 +0100)]
Revert "i386/files: isa/clock.c is clean enough to compile w/ -Werror"

This reverts commit 1c00e39a16e32d0f4bdd2ccbea78281b0dafa926.

This breaks gcc41 buildkernel.

8 years agoVFS accounting: start collecting data
Francois Tigeot [Sun, 7 Aug 2011 17:29:38 +0000 (19:29 +0200)]
VFS accounting: start collecting data

* Add calls to the vfs accounting function in the different places
  where files may grow/diminish in size or change owners

* use the namecache layer mount point information in preference to
  the vnode one

8 years agomkinitrd.8: Create a mkinitrd.conf.5 link.
Sascha Wildner [Mon, 12 Dec 2011 18:45:41 +0000 (19:45 +0100)]
mkinitrd.8: Create a mkinitrd.conf.5 link.

8 years agomkinitrd(8): Move the defaults to /etc/defaults/mkinitrd.conf.
Sascha Wildner [Mon, 12 Dec 2011 18:40:37 +0000 (19:40 +0100)]
mkinitrd(8): Move the defaults to /etc/defaults/mkinitrd.conf.

Provide this file by default and if the user has to change anything,
they can use /etc/mkinitrd.conf, just like for rc.conf, etc.

While here, change -e to -r for the test of /etc/mkinitrd.conf's

8 years agoRevert "x86_64: isa/clock.c is clean enough to enable -Werror"
Sascha Wildner [Mon, 12 Dec 2011 18:16:11 +0000 (19:16 +0100)]
Revert "x86_64: isa/clock.c is clean enough to enable -Werror"

This reverts commit f2c6c11c130f9aaf10429503f3111c333e0253f1.

It breaks gcc41 buildkernel.

8 years agobsd.kern.mk: -Wold-style-declaration is unknown to gcc41.
Sascha Wildner [Mon, 12 Dec 2011 18:11:48 +0000 (19:11 +0100)]
bsd.kern.mk: -Wold-style-declaration is unknown to gcc41.

8 years agondis_events(8): Handle the "no event matched" case (fixes a gcc41 warning).
Sascha Wildner [Mon, 12 Dec 2011 18:11:01 +0000 (19:11 +0100)]
ndis_events(8): Handle the "no event matched" case (fixes a gcc41 warning).

8 years agokernel - Misc fixes and debugging
Matthew Dillon [Mon, 12 Dec 2011 17:37:20 +0000 (09:37 -0800)]
kernel - Misc fixes and debugging

* Add required CLDs in the exception paths.  The interrupt paths already

* Note that the fast_syscall (SYSENTER) path has an implied CLD due to the
  hardware mask applied to rflags.

* Add the IOPL bits to the set of bits set to 0 during a fast_syscall.

* When creating a dummy interrupt frame we don't have to push the
  actual %cs.  Just push $0 so the frame isn't misinterpreted as coming
  from userland.

* Additional debug verbosity for freeze_on_seg_fault.

* Reserve two void * fields for LWP debugging (for a later commit)

8 years agoKernel - Fix double-unlock in nlookupdotdot
Matthew Dillon [Mon, 12 Dec 2011 17:24:38 +0000 (09:24 -0800)]
Kernel - Fix double-unlock in nlookupdotdot

* Fix double-unlock assertion in the compat nlookupdotdot code

* This code is basically only triggered when a machine is acting as a NFS
  server when serving out a UFS mount (since HAMMER has its own).  Only
  NFS servers can access directories not connected through to the root
  via the namecache hierarchy and those are the only situations where
  nlookupdotdot is actually used.  ".." is normally handled directly by
  the namecache.

8 years agokernel - Dynamically size lwkt_cache_threads free cache
Matthew Dillon [Mon, 12 Dec 2011 17:22:43 +0000 (09:22 -0800)]
kernel - Dynamically size lwkt_cache_threads free cache

* Change the default # of free LWKT threads from 32 to 4*ncpus, with
  a minimum of 32.

* Improves performance on systems with more than 8 cores.

* NULL-out some fields on thread free as a safety.

8 years agoMerge git://git.dragonflybsd.org/dragonfly
Venkatesh Srinivas [Mon, 12 Dec 2011 01:21:35 +0000 (17:21 -0800)]
Merge git://git.dragonflybsd.org/dragonfly

8 years agoVFS accounting: list enabled filesystems
Francois Tigeot [Sun, 14 Aug 2011 15:24:55 +0000 (17:24 +0200)]
VFS accounting: list enabled filesystems

Use a new flag, MNT_ACCOUNTING for that

8 years agokernel/vfs_quota: Put the 'accounting enabled' message under bootverbose.
Sascha Wildner [Sun, 11 Dec 2011 15:51:47 +0000 (16:51 +0100)]
kernel/vfs_quota: Put the 'accounting enabled' message under bootverbose.

8 years agoi386/ioapic_abi: Disable interrupt load balance by default
Sepherosa Ziehau [Sun, 11 Dec 2011 13:48:15 +0000 (21:48 +0800)]
i386/ioapic_abi: Disable interrupt load balance by default

This merges 2b195d6a566cb8441f5d6d66363235683bbd92af

8 years agoi386/ioapic_abi: Per-cpu irqmap array
Sepherosa Ziehau [Sun, 11 Dec 2011 13:36:03 +0000 (21:36 +0800)]
i386/ioapic_abi: Per-cpu irqmap array

This merges 6f072945c912b376b55e396d8b81918c3cbd25c6

8 years agoi386/MachIntrABI: Remove unnecessary setidt in intr_setup/teardown
Sepherosa Ziehau [Sun, 11 Dec 2011 11:49:10 +0000 (19:49 +0800)]
i386/MachIntrABI: Remove unnecessary setidt in intr_setup/teardown

This merges c7d947d54787629833f1dd46789543ac77c3d7e1

8 years agoi386/ioapic: Add missing imen_lock/unlock
Sepherosa Ziehau [Sun, 11 Dec 2011 11:41:11 +0000 (19:41 +0800)]
i386/ioapic: Add missing imen_lock/unlock

This merges b551073687d461dc8b9e6d3a34dd285de40a26a6

8 years agoi386/ioapic_abi: Optimize the GSI search a little bit
Sepherosa Ziehau [Sun, 11 Dec 2011 11:33:33 +0000 (19:33 +0800)]
i386/ioapic_abi: Optimize the GSI search a little bit

This merges dc844205199e9b290c8298fcc826b3c770542be1

8 years agoi386/ioapic_abi: Record the max line based IRQ
Sepherosa Ziehau [Sun, 11 Dec 2011 11:26:45 +0000 (19:26 +0800)]
i386/ioapic_abi: Record the max line based IRQ

This merges bf2e6ffbfe8055e65631c27b698eec10557cb61b

8 years agoi386/ioapic_abi: Rework debug messages
Sepherosa Ziehau [Sun, 11 Dec 2011 11:19:55 +0000 (19:19 +0800)]
i386/ioapic_abi: Rework debug messages

This merges 621d2ccf74a7c3c6069377fe217d778a3ad0d414

8 years agoi386/nexus: Per-cpu IRQ rman
Sepherosa Ziehau [Sun, 11 Dec 2011 11:11:17 +0000 (19:11 +0800)]
i386/nexus: Per-cpu IRQ rman

This merges 7e370202e053de3ef8357ef02e8b6f1e97694f97

8 years agoi386/ioapic: Allow GSI's target CPU to be configured
Sepherosa Ziehau [Sun, 11 Dec 2011 11:02:25 +0000 (19:02 +0800)]
i386/ioapic: Allow GSI's target CPU to be configured

This merges 95874ffdec65823430464b7869d8f0acf75cc226

8 years agoFix the panic on atkbdc_configure() failure
YONETANI Tomokazu [Sat, 10 Dec 2011 11:43:42 +0000 (20:43 +0900)]
Fix the panic on atkbdc_configure() failure

kbd_unregister() expects the caller to hold kb_lock because it's mainly
called by kbd_term_t routine.

8 years agoVFS accounting: add in-memory storage counters
Francois Tigeot [Sat, 13 Aug 2011 09:34:39 +0000 (11:34 +0200)]
VFS accounting: add in-memory storage counters

* Use a red-black tree of small arrays to store uid and gid accounting
  User and group ids often come in small groups of consecutive numbers;
  small arrays have a high probability of having more than one element
  used at the same time, reducing pointer chasing in the binary tree.

* Also use a global per mount-point counter

* Only enable data collection for volumes which have been properly

* Protect the counters by a per mount-point spinlock

8 years agoinstaller: Remove some unused variables and code.
Sascha Wildner [Sat, 10 Dec 2011 17:02:52 +0000 (18:02 +0100)]
installer: Remove some unused variables and code.

All that remains is checking if the user tries to make / tmpfs backed.

8 years agokernel/netgraph7: Replace usage of MALLOC/FREE with kmalloc/kfree here too.
Sascha Wildner [Sat, 10 Dec 2011 15:34:30 +0000 (16:34 +0100)]
kernel/netgraph7: Replace usage of MALLOC/FREE with kmalloc/kfree here too.

Requested-by: Nuno Antunes
8 years agovquota(8): Silence 'has more than one link' messages.
Sascha Wildner [Sat, 10 Dec 2011 14:47:00 +0000 (15:47 +0100)]
vquota(8): Silence 'has more than one link' messages.

Also, print the usage if an unknown command is given.

In the manual page, note that the output size is in bytes.

8 years agobsd.kern.mk: Add a missing space.
Sascha Wildner [Sat, 10 Dec 2011 13:52:14 +0000 (14:52 +0100)]
bsd.kern.mk: Add a missing space.

8 years agoAdd -Wold-style-declaration to the kernel's warning flags.
Sascha Wildner [Sat, 10 Dec 2011 13:45:37 +0000 (14:45 +0100)]
Add -Wold-style-declaration to the kernel's warning flags.

While here, clean up the comments a bit. -Wextra cleanness is not
something we're aiming for. What we want are warnings that help
catching bugs and/or keeping the code nice, but at the same time
don't get on anyone's nerves.

8 years agoAdd vknetd to etc/rc.d/Makefile.
Sascha Wildner [Sat, 10 Dec 2011 10:35:36 +0000 (11:35 +0100)]
Add vknetd to etc/rc.d/Makefile.

8 years agokernel -- Remove references to obsolete i586 optimized bcopy.
Venkatesh Srinivas [Sat, 10 Dec 2011 06:50:15 +0000 (22:50 -0800)]
kernel -- Remove references to obsolete i586 optimized bcopy.

The code had been disabled for some time; GC it.

8 years agokernel -- Remove i686_pagezero.
Venkatesh Srinivas [Sat, 10 Dec 2011 06:32:10 +0000 (22:32 -0800)]
kernel -- Remove i686_pagezero.

i686_pagezero spent read bandwidth to search for the first non-zero word
in a page and zeroed from there. This was silly; the contents of the page
didn't matter and reading it was a waste of time. bzero() is used directly.

8 years ago<sys/ktr.h>: Move static to the first place in declarations.
Sascha Wildner [Sat, 10 Dec 2011 00:56:11 +0000 (01:56 +0100)]
<sys/ktr.h>: Move static to the first place in declarations.

The C standard discourages placing storage-class specifiers (typedef,
extern, static, auto, register) other than first in a declaration since

8 years agokernel: Add acpi_if.h to the ACPI module Makefiles.
Sascha Wildner [Sat, 10 Dec 2011 00:53:08 +0000 (01:53 +0100)]
kernel: Add acpi_if.h to the ACPI module Makefiles.

8 years agobuildkernel: Disable building of acpi_hp.ko. It will not load.
Sascha Wildner [Fri, 9 Dec 2011 23:46:43 +0000 (00:46 +0100)]
buildkernel: Disable building of acpi_hp.ko. It will not load.

8 years agoFix various whitespace and indent issues (no functional change).
Sascha Wildner [Fri, 9 Dec 2011 19:12:15 +0000 (20:12 +0100)]
Fix various whitespace and indent issues (no functional change).

8 years agopfctl(8): Add missing braces.
Sascha Wildner [Fri, 9 Dec 2011 18:53:53 +0000 (19:53 +0100)]
pfctl(8): Add missing braces.

8 years agopw(8): Add missing braces.
Sascha Wildner [Fri, 9 Dec 2011 18:42:00 +0000 (19:42 +0100)]
pw(8): Add missing braces.

8 years agodfregress(8): Add some missing braces.
Sascha Wildner [Fri, 9 Dec 2011 18:05:33 +0000 (19:05 +0100)]
dfregress(8): Add some missing braces.

8 years agolib: Fix various whitespace and indent issues (no functional change).
Sascha Wildner [Fri, 9 Dec 2011 16:55:19 +0000 (17:55 +0100)]
lib: Fix various whitespace and indent issues (no functional change).

8 years agoSome cosmetics: #if(0) -> #if 0
Sascha Wildner [Fri, 9 Dec 2011 12:21:31 +0000 (13:21 +0100)]
Some cosmetics: #if(0) -> #if 0

8 years agokernel/nfs: Fix a bug due to missing braces.
Sascha Wildner [Fri, 9 Dec 2011 11:38:39 +0000 (12:38 +0100)]
kernel/nfs: Fix a bug due to missing braces.

The lwkt_reltoken() was added in c6b43e93a6cf0a70bde32cd141057a0df9860e13
but it was forgotten to put braces around the if's body (now having
lwkt_reltoken() and the return()).

8 years agokernel: Fix various whitespace and indent issues (no functional change).
Sascha Wildner [Fri, 9 Dec 2011 10:47:25 +0000 (11:47 +0100)]
kernel: Fix various whitespace and indent issues (no functional change).

8 years agosf(4): Remove a duplicated flag in a header.
Sascha Wildner [Thu, 8 Dec 2011 19:01:48 +0000 (20:01 +0100)]
sf(4): Remove a duplicated flag in a header.

8 years agorc.conf.5: Start a sentence in upper case.
Sascha Wildner [Thu, 8 Dec 2011 09:33:39 +0000 (10:33 +0100)]
rc.conf.5: Start a sentence in upper case.

8 years agotcpdump(1): Fix some sizeof(sizeof(x)) issues.
Sascha Wildner [Thu, 8 Dec 2011 08:26:24 +0000 (09:26 +0100)]
tcpdump(1): Fix some sizeof(sizeof(x)) issues.

Has been committed upstream too:


8 years agoacpi: Include acdragonfly.h from acenv.h.
Sascha Wildner [Thu, 8 Dec 2011 08:16:15 +0000 (09:16 +0100)]
acpi: Include acdragonfly.h from acenv.h.

8 years agokernel - Support bdwrite() on tmpfs buffer cache buffers
Matthew Dillon [Thu, 8 Dec 2011 06:32:33 +0000 (22:32 -0800)]
kernel - Support bdwrite() on tmpfs buffer cache buffers

* tmpfs itself does not call bdwrite() when no swap space has been
  allocated but certain system side effects such as nvtruncbuf()
  when a file is truncated CAN cause bdwrite() to be called.

  This eventually causes the buffer to run through tmpfs's strategy

* Adjust the strategy function to handle the no-swap case by marking
  the underlying pages dirty and valid and completing the I/O.

* Also handle the case when swap exists but fills up.  If the
  swap_strategy() function fails with ENOMEM fall-back to again
  marking the pages dirty andvalid and completing the I/O.

  This allows tmpfs to fill up to the system's total memory+swap instead
  of just the system's swap.

8 years agotcp: Don't check PRUS_OOB again in tcp_usr_send
Sepherosa Ziehau [Thu, 8 Dec 2011 05:38:37 +0000 (13:38 +0800)]
tcp: Don't check PRUS_OOB again in tcp_usr_send

- It is not necessary; it was checked in sosendtcp
- It does not work w/ asynchronized pru_send

Reminded-by: dillon@
8 years agokernel - Fix missing token release on I/O error during exec
Matthew Dillon [Thu, 8 Dec 2011 05:36:57 +0000 (21:36 -0800)]
kernel - Fix missing token release on I/O error during exec

* If an EIO occurs while exec is mapping pages from the binary we need
  to drop the vm_object we are holding before returning.

* Fixes panic when the system runs out of memory and no swap is present.

8 years agokernel - Remove partially commit debug code
Matthew Dillon [Thu, 8 Dec 2011 04:22:45 +0000 (20:22 -0800)]
kernel - Remove partially commit debug code

* Remove partially committed debug code that will cause the compile
  to fail.

8 years agokernel - Remove unneeded initialization
Matthew Dillon [Thu, 8 Dec 2011 04:19:40 +0000 (20:19 -0800)]
kernel - Remove unneeded initialization

* vm_object->flags is set to 0 by _vm_object_allocate() and does not
  need to be set to 0 again.

8 years agokernel - Clear the quick-return flag when changing PSL_IOPL.
Matthew Dillon [Thu, 8 Dec 2011 04:18:07 +0000 (20:18 -0800)]
kernel - Clear the quick-return flag when changing PSL_IOPL.

* Make sure we do a full syscall return when changing PSL_IOPL.

8 years agokernel - Add additional safety assertions in the pmap path
Matthew Dillon [Thu, 8 Dec 2011 04:16:36 +0000 (20:16 -0800)]
kernel - Add additional safety assertions in the pmap path

* Assert additional state is correct in pmap_pinit()

* Assert that the critical section count makes preemption impossible
  in pmap_interlock_wait(), which is called from the depths of swtch.s
  during a thread switch.

8 years agokernel - Adjust stack by an addition 128 in sendupcall()
Matthew Dillon [Thu, 8 Dec 2011 04:14:56 +0000 (20:14 -0800)]
kernel - Adjust stack by an addition 128 in sendupcall()

* Adjust stack by an addition 128 in sendupcall() for red-zone
  Note however that this code is currently unused, so it has no effect.

* If getmemsize() finds an overlapping region we break out of the inner
  loop so we can continue the outer loop.

Reported-by: swildner
8 years agokernel - Add -fno-stack-protector for kernel build
Matthew Dillon [Thu, 8 Dec 2011 04:14:04 +0000 (20:14 -0800)]
kernel - Add -fno-stack-protector for kernel build

* Add -fno-stack-protector for kernel build in order to be consistent
  with the other platform kernel builds

* Has no effect with the current version of gcc but may prevent bad vibes
  in the future.

8 years agokernel - Do not use LK_NOWAIT for vfs_busy() after initialization
Matthew Dillon [Thu, 8 Dec 2011 04:13:09 +0000 (20:13 -0800)]
kernel - Do not use LK_NOWAIT for vfs_busy() after initialization

* Minor adjustment, this is more appropriate then what we had but it
  will not effect the code since nobody references the mp yet at this
  point (thus the lock always succeeds even w/ LK_NOWAIT).

8 years agokernel - Fix panic during diskless mount
Matthew Dillon [Thu, 8 Dec 2011 04:10:13 +0000 (20:10 -0800)]
kernel - Fix panic during diskless mount

* Remove improper vfs_unbusy()'s from the nfs_mountroot path.  The mount
  is unbusied by the caller instead.  This fixes a lockmgr panic.

8 years agokernel - Fix endless nfs error 70 during shutdown
Matthew Dillon [Thu, 8 Dec 2011 04:08:03 +0000 (20:08 -0800)]
kernel - Fix endless nfs error 70 during shutdown

* When shutting down NFS rw mounts left over buffers may not be able to
  flush during a forced unmount.

* When unable to flush during a forced unmount mark the bp EIO instead
  of ESTALE and also mark it B_INVAL to remove the buffer from the the

8 years agokernel - Add TDF_RUNNING assertions
Matthew Dillon [Thu, 8 Dec 2011 02:51:52 +0000 (18:51 -0800)]
kernel - Add TDF_RUNNING assertions

* Assert that the target lwkt thread being switched to is not flagged as

* Assert that the originating lwkt thread being switched from is flagged as

* Fix the running flag initial condition for the idle thread.

8 years agokernel - Fix alarm() timer race against exit
Matthew Dillon [Thu, 8 Dec 2011 02:44:15 +0000 (18:44 -0800)]
kernel - Fix alarm() timer race against exit

* Stop the callout synchronously to ensure that any pending alarm timeout
  is completely removed before we allow a process to exit.

* Add a required PHOLD() to the relaitexpire() function.

8 years agokernel - add DEBUG_LOCKS_LATENCY option
Matthew Dillon [Thu, 8 Dec 2011 02:42:01 +0000 (18:42 -0800)]
kernel - add DEBUG_LOCKS_LATENCY option

* This is for debugging only, default disabled.  If optioned this adds
  a sysctl to add a forced latency loop (count to N) in front of any
  spinlock or gettoken.

8 years agobuildworld - Add uuid for HAMMER2
Matthew Dillon [Thu, 8 Dec 2011 02:40:06 +0000 (18:40 -0800)]
buildworld - Add uuid for HAMMER2

* Add the uuid for a HAMMER2 filesystem

8 years agobuildworld - Fix -j n collisions
Matthew Dillon [Thu, 8 Dec 2011 02:38:07 +0000 (18:38 -0800)]
buildworld - Fix -j n collisions

* Each of _gcc41_tools and _gcc44_tools needs to be ordered

* Currently installation of the objc include files can collide in a way
  that interferes with a parallel build, when gcc41 and gcc44 are built
  concurrently.  For now don't build them concurrently :-(.

8 years agokernel - Fix panic in vm_page_try_to_free()
Matthew Dillon [Thu, 8 Dec 2011 02:36:10 +0000 (18:36 -0800)]
kernel - Fix panic in vm_page_try_to_free()

* This function is supposed to work with the VM page in any state, including
  a potentially free state.

* Add additional checks to ignore the page if it is already in PQ_FREE or

Reported-by: sephe