dragonfly.git
2 years agoinstaller: Tone down the comments around the installer's rc.conf settings.
Sascha Wildner [Tue, 16 Aug 2011 15:57:32 +0000 (17:57 +0200)]
installer: Tone down the comments around the installer's rc.conf settings.

dumpdev is the only thing that is written by default and it tended to
get lost among the rather verbose comments.

2 years agoLINT/LINT64: Add KTR_TSLEEP.
Sascha Wildner [Tue, 16 Aug 2011 14:18:44 +0000 (16:18 +0200)]
LINT/LINT64: Add KTR_TSLEEP.

2 years agobrgphy: Bring in changes from OpenBSD
Sepherosa Ziehau [Tue, 16 Aug 2011 09:45:30 +0000 (17:45 +0800)]
brgphy: Bring in changes from OpenBSD

- Link status is now detected using BMSR
- Extra link status detection based on AUXSTS is used for 5906
- Shuffle 5906 EPHY setting around
- brgphy_loop() is not necessary to start auto-negotiation

2 years agoFix crossbuilding x86_64 on i386.
Sascha Wildner [Tue, 16 Aug 2011 07:40:02 +0000 (09:40 +0200)]
Fix crossbuilding x86_64 on i386.

Brings back two things from cdefb602 and a262c465.

2 years agomsk(4): Add support for Yukon Supreme
Sepherosa Ziehau [Mon, 15 Aug 2011 11:31:06 +0000 (19:31 +0800)]
msk(4): Add support for Yukon Supreme

Obtained-from: FreeBSD 222230

2 years agomsk(4): Disable ASF on the chips that have it
Sepherosa Ziehau [Mon, 15 Aug 2011 11:23:14 +0000 (19:23 +0800)]
msk(4): Disable ASF on the chips that have it

Obtained-from: FreeBSD 222227

2 years agomsk(4): Make sure to enable all clocks before accessing registers.
Sepherosa Ziehau [Mon, 15 Aug 2011 11:17:49 +0000 (19:17 +0800)]
msk(4): Make sure to enable all clocks before accessing registers.

Obtained-from: FreeBSD 222226

2 years agoVFS_START() uses only two arguments
François Tigeot [Mon, 15 Aug 2011 05:35:12 +0000 (07:35 +0200)]
VFS_START() uses only two arguments

2 years agoFix crossbuilding i386 on x86_64.
Sascha Wildner [Sun, 14 Aug 2011 22:21:18 +0000 (00:21 +0200)]
Fix crossbuilding i386 on x86_64.

bfd_elf64_archive_slurp_armap() is needed for building an i386
libbfd on x86_64.

2 years agomsk(4): Only Yukon FE, XL and EC have RAM registers
Sepherosa Ziehau [Sun, 14 Aug 2011 14:08:37 +0000 (22:08 +0800)]
msk(4): Only Yukon FE, XL and EC have RAM registers

Obtained-from: FreeBSD 222223

2 years agomsk(4): Enable store and forward mode except for jumbo frame on Yukon Ultra.
Sepherosa Ziehau [Sun, 14 Aug 2011 12:52:35 +0000 (20:52 +0800)]
msk(4): Enable store and forward mode except for jumbo frame on Yukon Ultra.

Obtained-from: 222221

2 years agomsk(4): Do not blindly clear entire GPHY control register.
Sepherosa Ziehau [Sun, 14 Aug 2011 12:39:58 +0000 (20:39 +0800)]
msk(4): Do not blindly clear entire GPHY control register.

It seems some bits of the register is used for other purposes such
that clearing these bits resulted in unexpected results such as
corrupted RX frames or missing LE status updates.

Obtained-from: FreeBSD 222219

2 years agomsk(4): Don't process incoming packets if the interface is down
Sepherosa Ziehau [Sun, 14 Aug 2011 12:34:31 +0000 (20:34 +0800)]
msk(4): Don't process incoming packets if the interface is down

Obtained-from: FreeBSD 207623

2 years agomsk(4): Don't unnecessarily clear interrupt masks
Sepherosa Ziehau [Sun, 14 Aug 2011 12:29:52 +0000 (20:29 +0800)]
msk(4): Don't unnecessarily clear interrupt masks

Obtained-from: FreeBSD 207623

2 years agomdoc.local: We must indent using spaces here.
Sascha Wildner [Sat, 13 Aug 2011 20:34:22 +0000 (22:34 +0200)]
mdoc.local: We must indent using spaces here.

2 years agoSynchronize the description of struct statfs with its real
François Tigeot [Sat, 13 Aug 2011 16:25:57 +0000 (18:25 +0200)]
Synchronize the description of struct statfs with its real
definition on DragonFly 2.11

2 years agoktr(4): Allow to configure KTR_TSLEEP alone.
Sascha Wildner [Sat, 13 Aug 2011 16:03:09 +0000 (18:03 +0200)]
ktr(4): Allow to configure KTR_TSLEEP alone.

2 years agoMerge branch 'vendor/AWK'
Sascha Wildner [Fri, 12 Aug 2011 21:08:08 +0000 (23:08 +0200)]
Merge branch 'vendor/AWK'

2 years agoImport awk-20110810.
Sascha Wildner [Fri, 12 Aug 2011 21:07:23 +0000 (23:07 +0200)]
Import awk-20110810.

* /pat/, \n /pat/ {...} is now legal, though bad style to use.
* added checks to new -v code that permits -vnospace
* removed fixed limit on number of open files
* fixed day 1 bug that resurrected deleted elements of ARGV when
  used as filenames (in lib.c).
* minor type fiddles to make gcc -Wall -pedantic happier (but not
  totally so)
* split(s, a, //) now behaves the same as split(s, a, "")
* another fix to avoid core dump with delete(ARGV)

2 years agokernel/x86_64: Remove bogus and unused file.
Sascha Wildner [Fri, 12 Aug 2011 02:43:38 +0000 (04:43 +0200)]
kernel/x86_64: Remove bogus and unused file.

2 years agokernel - Fix deadlock w/recent vm_map work
Matthew Dillon [Thu, 11 Aug 2011 21:38:09 +0000 (14:38 -0700)]
kernel - Fix deadlock w/recent vm_map work

* Fix a deadlock where a vm_page is being held PG_BUSY throgh a vm_map
  relocking operation.  This can deadlock against the attempt to busy
  a vm_page while holding a vm_map lock.

* The solution is a bit of a hack.  Currently allow the relock attempt to
  timeout and force a retry of the VM fault, which unlocks and relocks
  everything.  This is not the best solution but the problem occurs
  fairly rarely so for now it should be an acceptable workaround.

Reported-by: ftigeot, Studbolt
2 years agomfi(4): Merge LSI's latest driver changes (updates us to version 3.981).
Sascha Wildner [Thu, 11 Aug 2011 18:31:01 +0000 (20:31 +0200)]
mfi(4): Merge LSI's latest driver changes (updates us to version 3.981).

This adds support for a number of cards (according to LSI's README):

* LSI MegaRAID SAS 9240-4i
* LSI MegaRAID SAS 9240-8i
* LSI MegaRAID SAS 9260-4i
* LSI MegaRAID SAS 9260-8i
* LSI MegaRAID SAS 9260DE-8i
* LSI MegaRAID SAS 9260-16i
* LSI MegaRAID SAS 9261-8i
* LSI MegaRAID SAS 9280-4i4e
* LSI MegaRAID SAS 9280-8e
* LSI MegaRAID SAS 9280DE-8e
* LSI MegaRAID SAS 9280-16i4e
* LSI MegaRAID SAS 9280-24i4e

It was tested by Tomi Juvonen <tomi.juvonen@kenou.biz> on an
IBM ServeRAID M1015 controller using LSI's 9240-8i IR firmware.

2 years agocondvar.9: Mention that cv_broadcastpri()'s pri parameter is discarded.
Sascha Wildner [Thu, 11 Aug 2011 18:28:48 +0000 (20:28 +0200)]
condvar.9: Mention that cv_broadcastpri()'s pri parameter is discarded.

2 years ago<sys/condvar.h>: The cv_broadcastpri() macro needs to take a pri argument.
Sascha Wildner [Thu, 11 Aug 2011 18:28:25 +0000 (20:28 +0200)]
<sys/condvar.h>: The cv_broadcastpri() macro needs to take a pri argument.

2 years agoMark the arcmsr driver MPSAFE
François Tigeot [Thu, 11 Aug 2011 16:13:11 +0000 (18:13 +0200)]
Mark the arcmsr driver MPSAFE

2 years agoImplement a new vfs function, vfs_account()
François Tigeot [Sat, 6 Aug 2011 15:29:06 +0000 (17:29 +0200)]
Implement a new vfs function, vfs_account()

It will be used to implement user and group disk space accounting
with possible filesystem-specific integration

2 years agoacpi(4): Remove bogus line from the Makefile.
Sascha Wildner [Wed, 10 Aug 2011 19:16:49 +0000 (21:16 +0200)]
acpi(4): Remove bogus line from the Makefile.

2 years agomsk(4): Add support for 88E8059
Sepherosa Ziehau [Wed, 10 Aug 2011 14:33:34 +0000 (22:33 +0800)]
msk(4): Add support for 88E8059

Obtained-from: FreeBSD 207445

2 years agomsk(4): Disable non-ASF packet flushing on Yukon Extreme.
Sepherosa Ziehau [Wed, 10 Aug 2011 11:57:59 +0000 (19:57 +0800)]
msk(4): Disable non-ASF packet flushing on Yukon Extreme.

This prevents Yukon Extreme from generating pause frame storm.

Obtained-from: FreeBSD 207442

2 years agomsk(4): RX_GMF_{LP,UP}_THR are 16bits registers
Sepherosa Ziehau [Wed, 10 Aug 2011 11:49:06 +0000 (19:49 +0800)]
msk(4): RX_GMF_{LP,UP}_THR are 16bits registers

Obtained-from: FreeBSD 207409

2 years agomsk(4): PCI_OUR_REG_* and PCI_CFG_REG_* should be accessed indirectly
Sepherosa Ziehau [Wed, 10 Aug 2011 11:44:30 +0000 (19:44 +0800)]
msk(4): PCI_OUR_REG_* and PCI_CFG_REG_* should be accessed indirectly

Obtained-from: FreeBSD 205161 w/ mod

2 years agomsk(4): Enable flow-control only if link is full-duplex
Sepherosa Ziehau [Wed, 10 Aug 2011 11:30:51 +0000 (19:30 +0800)]
msk(4): Enable flow-control only if link is full-duplex

Obtained-from: FreeBSD 204540

2 years agomsk(4): Don't hardcod register offset to set PCIe max read request size.
Sepherosa Ziehau [Wed, 10 Aug 2011 09:48:31 +0000 (17:48 +0800)]
msk(4): Don't hardcod register offset to set PCIe max read request size.

This should fix 88E8072 support

Obtained-from: FreeBSD 204365

2 years agopci: Add function to get PCIe max read request size
Sepherosa Ziehau [Wed, 10 Aug 2011 09:47:05 +0000 (17:47 +0800)]
pci: Add function to get PCIe max read request size

2 years agomsk(4): Add support for 88E8057
Sepherosa Ziehau [Wed, 10 Aug 2011 09:11:20 +0000 (17:11 +0800)]
msk(4): Add support for 88E8057

Obtained-from: FreeBSD 199012 202827

2 years agomsk(4): Force link state detection, if link is not up.
Sepherosa Ziehau [Wed, 10 Aug 2011 09:02:14 +0000 (17:02 +0800)]
msk(4): Force link state detection, if link is not up.

It seems generation of link state change of e1000phy(4) is not reliable
on some Marvell PHYs, so we force a link state change if the link is
still not up.

Obtained-from: FreeBSD 199413

2 years agovkernel(7) - Describe diskless operation.
Antonio Huete Jimenez [Wed, 10 Aug 2011 09:03:48 +0000 (11:03 +0200)]
vkernel(7) - Describe diskless operation.

- Add a section describing needed tunables for diskless operation.
- Add an example on how to boot it.
- Add VKERNEL64 config file to FILES section.

2 years agokernel: Staticize naccess().
Sascha Wildner [Wed, 10 Aug 2011 08:31:17 +0000 (10:31 +0200)]
kernel: Staticize naccess().

2 years agomfi(4) & mfiutil(8): Sync with FreeBSD
Sascha Wildner [Mon, 1 Aug 2011 18:09:52 +0000 (20:09 +0200)]
mfi(4) & mfiutil(8): Sync with FreeBSD

2 years agovkernel(7) - Permit multiple -e options to pass environment variables
Antonio Huete Jimenez [Tue, 9 Aug 2011 19:34:35 +0000 (21:34 +0200)]
vkernel(7) - Permit multiple -e options to pass environment variables
             to the virtual kernel environment.

* kern_envp is a zero-separated string which ends with two zero chars.
  Now every -e option is added to kern_envp so that when the kenv_init
  parses the static envirorment it can process it properly.

2 years agokernel/x86_64: Convert asm accessing segment descriptors to use 16bit ops.
Sascha Wildner [Tue, 9 Aug 2011 08:38:17 +0000 (10:38 +0200)]
kernel/x86_64: Convert asm accessing segment descriptors to use 16bit ops.

This also fixes -O0 compilation of the x86_64 kernel.

Reported-by: alexh
Taken-from:  FreeBSD

2 years agokernel/i386: Use 16 bit types for functions that access segment descriptors.
Sascha Wildner [Tue, 9 Aug 2011 08:38:14 +0000 (10:38 +0200)]
kernel/i386: Use 16 bit types for functions that access segment descriptors.

This is a followup commit to e96f55de.

Taken-from: FreeBSD

2 years agomk - Add two missing files to the README file
Antonio Huete Jimenez [Sun, 7 Aug 2011 20:22:44 +0000 (22:22 +0200)]
mk - Add two missing files to the README file

2 years agoMove static & inline to the beginnings of declarations.
Sascha Wildner [Sun, 7 Aug 2011 02:41:30 +0000 (04:41 +0200)]
Move static & inline to the beginnings of declarations.

2 years agogetsockopt: Add SO_SNDSPACE
Sepherosa Ziehau [Fri, 5 Aug 2011 05:53:17 +0000 (13:53 +0800)]
getsockopt: Add SO_SNDSPACE

This SOL_SOCKET get-only option is used to get the approximate free space
of send buffer.

2 years agoe1000phy: Add support for more Marvell PHYs
Sepherosa Ziehau [Fri, 5 Aug 2011 02:04:58 +0000 (10:04 +0800)]
e1000phy: Add support for more Marvell PHYs

Obtained-from: FreeBSD @211046 +223688

2 years agomiidevs.h: regen
Sepherosa Ziehau [Fri, 5 Aug 2011 02:04:41 +0000 (10:04 +0800)]
miidevs.h: regen

2 years agomii: Add more PHY ids for Marvell PHY chips
Sepherosa Ziehau [Fri, 5 Aug 2011 02:04:09 +0000 (10:04 +0800)]
mii: Add more PHY ids for Marvell PHY chips

2 years agoRemove forth and other unused bits from the loader.
François Tigeot [Thu, 4 Aug 2011 14:53:47 +0000 (16:53 +0200)]
Remove forth and other unused bits from the loader.

More precisely openfirmware, ia64, powerpc, and sparc64 specific code.

2 years agohammer - Add memory use limit option for dedup runs
Matthew Dillon [Thu, 4 Aug 2011 04:57:48 +0000 (21:57 -0700)]
hammer - Add memory use limit option for dedup runs

* Add '-m memlimit' (default 1G) to limit memory use during a dedup run.
  If the limit is reached hammer will reduce the range of CRCs in the scan
  and will perform multiple passes as needed to dedup the entire filesystem.

* VerboseOpt (-v) will be verbose about crc-range truncation and multiple
  passes.

2 years agohammer - Add simple I/O optimization, collect stats on new deduplications
Matthew Dillon [Thu, 4 Aug 2011 02:41:22 +0000 (19:41 -0700)]
hammer - Add simple I/O optimization, collect stats on new deduplications

* Add a simple I/O optimization.  When dealing with CRC collisions scan
  the SHA sub-tree looking for the data_offset/data_len match, allowing
  us to avoid unnecessary I/O reads.

  This effects data which has already been de-duplicated, so it will improve
  dedup rescan times on the portion that has already been dedupped.

* Collect statistics on NEW deduplications during the pass and print them
  out in the final stats as well as in the ^T stats.

2 years agohammer - Collect record statistics, implement ^T and ^C
Matthew Dillon [Thu, 4 Aug 2011 01:42:38 +0000 (18:42 -0700)]
hammer - Collect record statistics, implement ^T and ^C

* Add a check for ^C

* Add a check for ^T and print statistics.

* When doing the dedup for real run a pre-pass on the b-tree to count the
  number of data records present so the ^T feature can print out progress.

  This also has the side effect of doing locality-of-reference disk
  accesses to allow the b-tree data blocks to be cached by the kernel
  (or swapcache) before doing the real pass which will insert random data
  block reads when verifying duplicates.  Due to the efficiencies both passes
  should run faster than the original combined pass, or at least not take
  too much longer.

2 years agoaesni(4): Remove unused variable.
Sascha Wildner [Tue, 2 Aug 2011 15:15:29 +0000 (17:15 +0200)]
aesni(4): Remove unused variable.

2 years agomsk(4): Recognize 88E8402
Sepherosa Ziehau [Tue, 2 Aug 2011 14:09:23 +0000 (22:09 +0800)]
msk(4): Recognize 88E8402

Obtained-from; FreeBSD 198475

2 years agomsk(4): Remove "FIFO overrun" debug logging, which is not critical
Sepherosa Ziehau [Tue, 2 Aug 2011 14:06:38 +0000 (22:06 +0800)]
msk(4): Remove "FIFO overrun" debug logging, which is not critical

Obtained-from: FreeBSD 198997

2 years agomsk(4): Yukon XL can't flush FIFO
Sepherosa Ziehau [Tue, 2 Aug 2011 14:04:22 +0000 (22:04 +0800)]
msk(4): Yukon XL can't flush FIFO

Obtained-from: FreeBSD 197591

2 years agoaesni(4): Properly align the context memory using out kmalloc(9) feature
Sepherosa Ziehau [Tue, 2 Aug 2011 04:11:12 +0000 (12:11 +0800)]
aesni(4): Properly align the context memory using out kmalloc(9) feature

DragonFly's kmalloc(9) will return 2^n aligned memory if the allocation
size is 2^n; use this feature instead of using a local hack.

While I'm here, release the spinlock and call kmalloc(9) w/ M_WAITOK;
the check/free race is absolutely acceptable here, but the failure
of kmalloc(9) w/ M_NOWAIT is probably not accetable on the init path.

2 years agomsk(4): Add Yukon Extreme support
Sepherosa Ziehau [Mon, 1 Aug 2011 11:45:56 +0000 (19:45 +0800)]
msk(4): Add Yukon Extreme support

Obtained-from: FreeBSD 193293 193294 193298 193299

2 years agoadd MLINK for _updwtmpx
Alex Hornung [Sun, 31 Jul 2011 15:03:28 +0000 (16:03 +0100)]
add MLINK for _updwtmpx

2 years agoupdwtmpx - update prototype to be void, but ...
Alex Hornung [Sun, 31 Jul 2011 06:00:42 +0000 (07:00 +0100)]
updwtmpx - update prototype to be void, but ...

 * also expose the int-returning prototype as _updwtmpx, only for internal
   DragonFly use. It seems as if most programs out there assume that
   updwtmpx returns void.

 * This should fix heirloom in pkgsrc

2 years agopthread - adjust visibility to 'default'
Alex Hornung [Sun, 31 Jul 2011 05:52:45 +0000 (06:52 +0100)]
pthread - adjust visibility to 'default'

 * This fixes pkgsrc build issues that think the symbols are hidden.

 * It's not the most elegant solution, and it would be nicer if this
   could somehow be merged into BEGIN_DECLS/END_DECLS, but I couldn't
   find a way to do that.

 * See http://gcc.gnu.org/wiki/Visibility for more details

2 years agomsk(4): 88E80{35,36,37,38} are 100baseT only
Sepherosa Ziehau [Sun, 31 Jul 2011 09:40:44 +0000 (17:40 +0800)]
msk(4): 88E80{35,36,37,38} are 100baseT only

Obtained-from: FreeBSD 192742

2 years agomsk(4): Add Yukon FE+ support
Sepherosa Ziehau [Sun, 31 Jul 2011 09:31:36 +0000 (17:31 +0800)]
msk(4): Add Yukon FE+ support

Obtained-from: FreeBSD 192734 192735 192736

2 years agomsk(4): Explicitly reset GMAC Controls and clear GM_GP_CTRL
Sepherosa Ziehau [Sun, 31 Jul 2011 07:22:32 +0000 (15:22 +0800)]
msk(4): Explicitly reset GMAC Controls and clear GM_GP_CTRL

Obtained-from: FreeBSD 192731

2 years agomsk(4): Disable HW WOL for Yukon EC Ultra
Sepherosa Ziehau [Sun, 31 Jul 2011 07:17:47 +0000 (15:17 +0800)]
msk(4): Disable HW WOL for Yukon EC Ultra

Obtained-from: FreeBSD 192728

2 years agomsk(4): If link is down, don't disable RX/TX MACs if they are not enabled
Sepherosa Ziehau [Sun, 31 Jul 2011 06:53:23 +0000 (14:53 +0800)]
msk(4): If link is down, don't disable RX/TX MACs if they are not enabled

Obtained-from: FreeBSD 192727

2 years agomsk(4): Fix link status detection
Sepherosa Ziehau [Sun, 31 Jul 2011 06:50:06 +0000 (14:50 +0800)]
msk(4): Fix link status detection

Obtained-from: FreeBSD 192727

2 years agomsk(4): Add flag to mark the controller is 100baseTX only
Sepherosa Ziehau [Sun, 31 Jul 2011 06:33:17 +0000 (14:33 +0800)]
msk(4): Add flag to mark the controller is 100baseTX only

Obtained-from: FreeBSD 192723

2 years agomsk(4): Unify PROMISC and ALLMULTI settings
Sepherosa Ziehau [Sun, 31 Jul 2011 06:22:06 +0000 (14:22 +0800)]
msk(4): Unify PROMISC and ALLMULTI settings

Obtained-from: FreeBSD 190314

2 years agocsu x86_64 - properly align stack
Alex Hornung [Sat, 30 Jul 2011 08:04:14 +0000 (09:04 +0100)]
csu x86_64 - properly align stack

 * Properly align the stack for the _init and _fini function calls
   as expected by the x86_64 ABI and gcc.

 * This solves a bus error (unaligned MOVDQA) with pixman and some
   other stuff using SSE.

2 years agodefaults/rc.conf - Add jail_devfs_enable as a known option.
Antonio Huete Jimenez [Fri, 29 Jul 2011 20:09:38 +0000 (22:09 +0200)]
defaults/rc.conf - Add jail_devfs_enable as a known option.

2 years agomanpages: Fix some typos.
Sascha Wildner [Fri, 29 Jul 2011 14:08:04 +0000 (16:08 +0200)]
manpages: Fix some typos.

2 years agovkernel - cpu_disable_intr adjustments
Matthew Dillon [Fri, 29 Jul 2011 08:32:22 +0000 (01:32 -0700)]
vkernel - cpu_disable_intr adjustments

* cpu_disable_intr() also disables IPI interrupts now.

2 years agokernel - Fix rare IPIQ freezes
Matthew Dillon [Fri, 29 Jul 2011 08:25:46 +0000 (01:25 -0700)]
kernel - Fix rare IPIQ freezes

* Ensure that an IPI interrupt is sent went waiting for an IPIQ
  to drain.  The IPIQ can be pushed up by passive IPIs and not
  necessarily have a signal pending on the target cpu, so we
  have to put the check in our drain loop rather than outside
  the loop.

* Add a cpu_pause() to reduce power use for the IPIQ drain case.

* Normalize the use of gd_intr_nesting_level and clean up the
  code syntax for the ipiq_optimized case.

* Remove the previous temporary IPI interrupt signaling fix, it
  was incomplete.

* Fix a missing crit_exit() in the ENOENT case for
  lwkt_send_ipiq3_nowait().

* Track cpu's which are in the middle of ipiq processing and
  assert that a cpu is not in an IPIQ processing loop when
  switching between threads.

* Normalize the use of ip->ip_npoll in the IPIQ code.  This
  field is used to avoid unnecessary IPI interrupts.

2 years agovkernel - do not set SA_NODEFER for SIGIO and SIGUSR1
Matthew Dillon [Fri, 29 Jul 2011 08:21:59 +0000 (01:21 -0700)]
vkernel - do not set SA_NODEFER for SIGIO and SIGUSR1

* Do not set SA_NODEFER for SIGIO and SIGUSR1 in vkernels.  This fixes a
  stack overflow which can occur under heavy I/O or IPI loads.

2 years agokernel - Fix signal delivery races
Matthew Dillon [Fri, 29 Jul 2011 08:19:29 +0000 (01:19 -0700)]
kernel - Fix signal delivery races

* The send side was using p->p_token but the processing code from trap
  was still using the mp_lock.  Fix the trap processing code to use
  p->p_token.

* This fixes several nasty races that can cause signals to be lost and
  vkernels to freeze, and possibly other programs which depend on signals
  between threads.

2 years agokernel - Minor enhancement to ddb's 'ps'
Matthew Dillon [Fri, 29 Jul 2011 08:14:41 +0000 (01:14 -0700)]
kernel - Minor enhancement to ddb's 'ps'

* Add a pointer value in hex for wchan field to DDB's ps output.

2 years agokernel - Fix a small race in the umtx code
Matthew Dillon [Fri, 29 Jul 2011 08:12:08 +0000 (01:12 -0700)]
kernel - Fix a small race in the umtx code

* Add an additional check after registering the vm_page action before
  actually going to sleep, closing a potential vm_token race.

2 years agokernel - remove debugging print_backtrace() when a vkernel is killed
Matthew Dillon [Thu, 28 Jul 2011 23:20:33 +0000 (16:20 -0700)]
kernel - remove debugging print_backtrace() when a vkernel is killed

* In certain cases a debugging print_backtrace() occurs when a vkernel is
  killed while one or more of its cpu threads is active.  This can crash
  64-bit systems.

* Remove the call for now.

2 years agovkernel - Add SIGINFO support (experimental)
Matthew Dillon [Thu, 28 Jul 2011 23:19:29 +0000 (16:19 -0700)]
vkernel - Add SIGINFO support (experimental)

* Display the lwp id and the pc and sp of the thread.

2 years agovkernel - Fix lockup with [v]kernel due to missing ipiq signal
Matthew Dillon [Thu, 28 Jul 2011 23:16:29 +0000 (16:16 -0700)]
vkernel - Fix lockup with [v]kernel due to missing ipiq signal

* If the target ipiq has nothing but passively queued entries the target
  cpu will normally just process the ipi's on the next clock interrupt.

  However, if the originating cpu is forced to live-loop waiting for the
  target to the drain the target may not be aware that it needs to drain
  ASAP.

* The fix is for the originating cpu to ensure that an ipi interrupt is
  sent to the target cpu before live looping.

* This appears to primarily effect vkernels.

Reported-by: ftigeot, tuxillo
2 years agotcplay(8): Fix SYNOPSIS & sync to usage()
Thomas Nikolajsen [Thu, 28 Jul 2011 21:19:50 +0000 (23:19 +0200)]
tcplay(8): Fix SYNOPSIS & sync to usage()
Also fix typo in getopt string.

2 years agomanpages: Add some missing includes.
Sascha Wildner [Thu, 28 Jul 2011 18:30:04 +0000 (20:30 +0200)]
manpages: Add some missing includes.

2 years agoprop_dictionary.3: Reapply 4bba5a94fad7a40a25b58fff23a76b3c0bee80ee.
Sascha Wildner [Thu, 28 Jul 2011 17:10:17 +0000 (19:10 +0200)]
prop_dictionary.3: Reapply 4bba5a94fad7a40a25b58fff23a76b3c0bee80ee.

2 years agomanpages: Some little cleanup.
Sascha Wildner [Thu, 28 Jul 2011 17:00:51 +0000 (19:00 +0200)]
manpages: Some little cleanup.

2 years agolibprop manpages: Add missing LIBRARY sections (some added again).
Sascha Wildner [Wed, 27 Jul 2011 10:58:27 +0000 (12:58 +0200)]
libprop manpages: Add missing LIBRARY sections (some added again).

2 years agokernel: Remove no longer used kernel option LOUTB.
Sascha Wildner [Wed, 27 Jul 2011 10:54:33 +0000 (12:54 +0200)]
kernel: Remove no longer used kernel option LOUTB.

2 years agokernel - Fix panic when the ccd device is used with swapcache
Matthew Dillon [Wed, 27 Jul 2011 03:37:54 +0000 (20:37 -0700)]
kernel - Fix panic when the ccd device is used with swapcache

* The CCD device does not populate bp->b_xio.xio_npages or xio_pages[].
  A quirk in the xio test in vn_cache_strategy() could result in a null
  pointer dereference panic.

* Fix the test to avoid the panic.  Note that swapcache does not currently
  work well with the CCD device for stripe-crossing I/Os due to the way
  CCD breaks the I/O up.  It should no longer panic, though.

2 years agokernel - Fix ENOBUFS related panic in tcp_output()
Matthew Dillon [Wed, 27 Jul 2011 03:36:50 +0000 (20:36 -0700)]
kernel - Fix ENOBUFS related panic in tcp_output()

* ENOBUFS in tcp_output() during connection initiation was trying to
  use the persist timer to retransmit the packet lost due to lack
  of mbufs, which will panic.  Use the retransmission timer instead.

Reported-by: Peter Avalos <peter@theshell.com>
2 years agokernel - Adjust mbuf cached free object retention
Matthew Dillon [Wed, 27 Jul 2011 03:34:36 +0000 (20:34 -0700)]
kernel - Adjust mbuf cached free object retention

* Adjust the cache retention in the objcache_create() calls the mbuf
  subsystem makes to reduce burst ENOBUF failures.  Previously the
  main mbufphdr cache only retained ~150 or so free mbufs.  Now it
  retains up to 1/4 the limit.

Reported-by: Peter Avalos <peter@theshell.com>
2 years agotcplay - update to version 0.9
Alex Hornung [Tue, 26 Jul 2011 14:13:18 +0000 (15:13 +0100)]
tcplay - update to version 0.9

new stuff of relevance to DragonFly:
 * Backup header is now written on volume creation.

 * custom humanize function that is more flexible in what it understands
   and produces nicer results for tcplay, as well as being portable.

 * support for non-512 byte sector size

 * better memory freeing. Instead of just doing lazy freeing at end of
   API operations or execution, free up as much as possible after each
   individual operation.

 * Bug fix: adjust volume size so backup header is never overwritten.

2 years agoAdd the lgue(4) driver for USB CDC ethernet.
Sascha Wildner [Mon, 25 Jul 2011 20:55:15 +0000 (22:55 +0200)]
Add the lgue(4) driver for USB CDC ethernet.

Submitted-by: Yellow Rabbit <yrabbit@sdf.lonestar.org>
2 years agousr.sbin/802_11: Raise WARNS to 1.
Sascha Wildner [Mon, 25 Jul 2011 20:15:51 +0000 (22:15 +0200)]
usr.sbin/802_11: Raise WARNS to 1.

2 years agoMakefile_upgrade.inc: More typo fixes.
Sascha Wildner [Mon, 25 Jul 2011 14:06:24 +0000 (16:06 +0200)]
Makefile_upgrade.inc: More typo fixes.

2 years agoMakefile_upgrade.inc: Fix typos and add two more gprof related files.
Sascha Wildner [Mon, 25 Jul 2011 13:35:46 +0000 (15:35 +0200)]
Makefile_upgrade.inc: Fix typos and add two more gprof related files.

2 years agortld-elf - restore old tls/tcb code
Alex Hornung [Sun, 24 Jul 2011 13:45:50 +0000 (14:45 +0100)]
rtld-elf - restore old tls/tcb code

 * This was ported incorrectly from FreBSD; the dtv in the TCB needs to
   be updated properly.

 * This fixes a fairly tricky issue that appears in threaded programs
   using dlopen() and family, such as php and Java. It presented itself
   as a strcmp segfault in object_match_name() due to a messed up STAILQ
   ->next pointer. The pointer was being messed up by the TLS code.

Reported-by: Peter Avalos, Antonio Huete, Francois Tigeot
2 years agoethernet: Allow netisr handler to run directly
Sepherosa Ziehau [Sun, 24 Jul 2011 11:50:08 +0000 (19:50 +0800)]
ethernet: Allow netisr handler to run directly

If the packet has already reach the correct netisr, we could simply call
the netisr handler instead of requeue the packet.

2 years agoethernet: Add ether_demux(), which will send the packet to the correct netisr
Sepherosa Ziehau [Sun, 24 Jul 2011 07:24:34 +0000 (15:24 +0800)]
ethernet: Add ether_demux(), which will send the packet to the correct netisr

It is intended to be used by the function which does not know whether
the current thread is the correct netisr for the ethernet packet or not.

Currently only ng_ether uses this function, which incorrectly called
ether_demux_oncpu().  The other two callers of ether_demux_oncpu() are
already on the correct netisr.

This paves the way to avoid requeuing the packet to the current netisr
in the ether_demux_oncpu().

2 years agoethernet: Factor out ether_characterize()
Sepherosa Ziehau [Sun, 24 Jul 2011 06:48:25 +0000 (14:48 +0800)]
ethernet: Factor out ether_characterize()

2 years agoethernet: Change some stats type to u_long
Sepherosa Ziehau [Sun, 24 Jul 2011 05:44:14 +0000 (13:44 +0800)]
ethernet: Change some stats type to u_long