dragonfly.git
5 years agokernel/bwi: Fix a wrong conversion to the automatic sysctx ctx/tree setup.
Sascha Wildner [Sat, 29 Nov 2014 21:11:21 +0000 (22:11 +0100)]
kernel/bwi: Fix a wrong conversion to the automatic sysctx ctx/tree setup.

This driver isn't hooked into the build currently.

Reported-by: ivadasz
5 years agokernel/bge: Fix a wrong conversion to the automatic sysctx ctx/tree setup.
Sascha Wildner [Sat, 29 Nov 2014 20:48:44 +0000 (21:48 +0100)]
kernel/bge: Fix a wrong conversion to the automatic sysctx ctx/tree setup.

Reported-by: ivadasz
5 years agolink_elf: Work around a GCC optimization bug. Fixes ddb stack traces.
Imre Vadasz [Sat, 29 Nov 2014 20:28:53 +0000 (21:28 +0100)]
link_elf: Work around a GCC optimization bug. Fixes ddb stack traces.

Taken-from: FreeBSD r102348

5 years agokernel/acpi: Add two debug tunables, debug.acpi.{ignore_xsdt,fadt_addr32}.
Sascha Wildner [Sat, 29 Nov 2014 19:17:07 +0000 (20:17 +0100)]
kernel/acpi: Add two debug tunables, debug.acpi.{ignore_xsdt,fadt_addr32}.

Used for affecting AcpiGbl_DoNotUseXsdt and AcpiGbl_Use32BitFadtAddresses,
which came in with 20131218.

5 years agokernel: Remove the no longer used KTR_USB_MEMORY option.
Sascha Wildner [Sat, 29 Nov 2014 18:22:11 +0000 (19:22 +0100)]
kernel: Remove the no longer used KTR_USB_MEMORY option.

5 years agodloader: Add a new option for color loader, "fred_is_blue"
John Marino [Sat, 29 Nov 2014 12:07:39 +0000 (13:07 +0100)]
dloader: Add a new option for color loader, "fred_is_blue"

When loader_color="YES", the dragonfly logo will show Fred as a red
dragonfly with red wings.  If fred_is_blue="YES" is set in loader.conf
as well, then a blue version of Fred will show instead (slightly more
fancy as wings are two-tone).

While here, update the man page with this new option and document
"fred_separated" option which was added yesterday.

5 years agodrm/i915: i915_gem_do_init() is i915_gem_init_global_gtt()
François Tigeot [Sat, 29 Nov 2014 07:12:11 +0000 (08:12 +0100)]
drm/i915: i915_gem_do_init() is i915_gem_init_global_gtt()

Drop it and reduce differences with Linux 3.8.13 in the code using it.

5 years agodloader: First step in improving looks of boot menu
John Marino [Fri, 28 Nov 2014 22:07:46 +0000 (23:07 +0100)]
dloader: First step in improving looks of boot menu

The boot menu essentially hasn't changed since it was converted to C
a few years ago.  The line between Fred and menu always bugged me, but I
suppose some people like it.  I added a new loader option called
"fred_separated" that is off by default, but if set on in loader.conf,
it will bring back the line.  When the line isn't present, Fred shifts
over by two characters which makes him centered.

While here, improve the colorization of Fred.  Colorization is not turned
on by default.  Before that can happen, adequate detection for a serial
console must be added to avoid using ansi color codes on it.

Since Fred has always been depicted as a red DragonFly with red wings, he
has been given bright red wings against a darker red body, and eyes have
changed from green yellow.  His shape has been tweaked as well.  His
scorpion stinger was sanded down to a small point and his mosquito beak
was made shorter so his head looks more like a DragonFly.  His thorax was
improved with curly brackets.

The original look can be restored by putting this in /boot/loader.conf:
  fred_separated="YES"

Approved by: Positive feedback on IRC channel

5 years agokernel: Use the new auto-created sysctl ctx/tree in various drivers.
Sascha Wildner [Fri, 28 Nov 2014 21:16:32 +0000 (22:16 +0100)]
kernel: Use the new auto-created sysctl ctx/tree in various drivers.

Everywhere where we formerly rolled a hw.fooX.* per-device ctx/tree
ourselves.

This commit switches it to dev.foo.X.*

5 years agocpucontrol.8: Use Mt for email addresses.
Sascha Wildner [Fri, 28 Nov 2014 17:23:55 +0000 (18:23 +0100)]
cpucontrol.8: Use Mt for email addresses.

5 years agomake.conf.5: Fix date.
Sascha Wildner [Fri, 28 Nov 2014 17:23:00 +0000 (18:23 +0100)]
make.conf.5: Fix date.

5 years agodrm: Add linux/shmem_fs.h
François Tigeot [Fri, 28 Nov 2014 16:08:11 +0000 (17:08 +0100)]
drm: Add linux/shmem_fs.h

shmem_read_mapping_page() is part of the public Linux API. Make it
accessible from linux/shmem_fs.h

5 years agodrm/i915: i915_wire_page is shmem_read_mapping_page()
François Tigeot [Fri, 28 Nov 2014 15:42:04 +0000 (16:42 +0100)]
drm/i915: i915_wire_page is shmem_read_mapping_page()

* Rename it and change its return type to be 100% compatible with the
same function from Linux 3.8.13.

* Also change the functions using it a bit to be more like what they
are in Linux. Variable names were changed and *BSD-specific APIs
unnecessarily introduced during the original port of this code from
Linux to FreeBSD.

5 years agodrm/i915: Extract general object init routine
François Tigeot [Fri, 28 Nov 2014 08:41:52 +0000 (09:41 +0100)]
drm/i915: Extract general object init routine

Obtained-from: Linux 3.8.13

5 years agovkernel64 - Fix pmap panic
Matthew Dillon [Fri, 28 Nov 2014 06:57:36 +0000 (22:57 -0800)]
vkernel64 - Fix pmap panic

* Fix a pmap panic complaining about the pm_active cpumask not being zero
  when the pmap is released/destroyed.

* The vkernel64 swtch code was improperly setting the active bits from
  the gd_other_cpus field instead of the gd_cpumask field, which wound
  up setting lots of bits instead of the one bit we wanted to set.

* Long-known bug was difficult to reproduce consistently enough to
  locate until Robert found a quick way.

Reproduced-by: Robert Garrett
5 years agoOpenSSH: default XAUTH_PATH as a make.conf variable
John Marino [Fri, 28 Nov 2014 00:42:23 +0000 (01:42 +0100)]
OpenSSH: default XAUTH_PATH as a make.conf variable

In the vast majority of use cases, the path to the xauth program will be
/usr/local/bin/xauth, the standard location defined by dports.  However,
it should not be hardcoded becase this is not guaranteed.

This commit modifies OpenSSH makefiles to have an overrideable default
called XAUTH_PATH.  This new variable has been added to the make.conf.5
man page and to /etc/defaults/make.conf.

5 years agorpc - Convert some daemons to TI-RPC
Antonio Huete Jimenez [Thu, 27 Nov 2014 23:02:36 +0000 (00:02 +0100)]
rpc - Convert some daemons to TI-RPC

- This follows up commit ce0e08e21d42c06c0014fae6b9d27144aa5109b0

5 years agoFix a number of typos in manual pages and user-visible messages.
Sascha Wildner [Thu, 27 Nov 2014 23:01:56 +0000 (00:01 +0100)]
Fix a number of typos in manual pages and user-visible messages.

5 years agokernel - Add debugging to try to catch callout panics
Matthew Dillon [Thu, 27 Nov 2014 21:53:05 +0000 (13:53 -0800)]
kernel - Add debugging to try to catch callout panics

* Add debugging

* Adjust a few cases to tighten up the spec.

5 years agomountd - Use the standardized CHAR_BIT constant
Antonio Huete Jimenez [Thu, 27 Nov 2014 21:21:44 +0000 (22:21 +0100)]
mountd - Use the standardized CHAR_BIT constant

Taken from: FreeBSD SVN 103949

5 years agomountd - Use the standard IPV6_V6ONLY
Antonio Huete Jimenez [Thu, 27 Nov 2014 21:15:40 +0000 (22:15 +0100)]
mountd - Use the standard IPV6_V6ONLY

Taken from: FreeBSD SVN 100505

5 years agomountd - Try shorter replies for RPC failures
Antonio Huete Jimenez [Thu, 27 Nov 2014 20:59:20 +0000 (21:59 +0100)]
mountd - Try shorter replies for RPC failures

- If an RPC fails, try a shorter reply in case the fault lies with the
  size of the response.

Taken from: FreeBSD SVN 100117

5 years agomountd - Remove old pre-TIRPC code
Antonio Huete Jimenez [Thu, 27 Nov 2014 20:26:37 +0000 (21:26 +0100)]
mountd - Remove old pre-TIRPC code

- Remove old pre-TIRPC code for getting transport handles.

Taken from: FreeBSD SVN 98826

5 years agomountd - Use fgetln() to read /etc/exports
Antonio Huete Jimenez [Thu, 27 Nov 2014 20:22:36 +0000 (21:22 +0100)]
mountd - Use fgetln() to read /etc/exports

- Removes the line length limit.

Taken from: FreeBSD SVN 96622

5 years agomountd - Module load handling
Antonio Huete Jimenez [Thu, 27 Nov 2014 14:54:53 +0000 (15:54 +0100)]
mountd - Module load handling

- Change the way the 'nfs' module is loaded.
- Use getsysctlbyname() to get vfs.nfs.nfs_privport

Taken from: FreeBSD SVN 83687

5 years agobsd-family-tree: Sync with FreeBSD.
Sascha Wildner [Thu, 27 Nov 2014 18:17:11 +0000 (19:17 +0100)]
bsd-family-tree: Sync with FreeBSD.

* DragonFly 4.0.1
* FreeBSD 10.1
* NetBSD 6.1.5
* OpenBSD 5.6

5 years agonfs - Remove unused kerberos code [Userland]
Antonio Huete Jimenez [Wed, 26 Nov 2014 23:19:33 +0000 (00:19 +0100)]
nfs - Remove unused kerberos code [Userland]

- This commit removes unused kerberos code from mount_nfs(8) and
  mountd(8).
- After a bit of research, apparently the code never worked on FreeBSD
  since it was imported around 1995

Partially taken from: FreeBSD SVN 83653

5 years agokernel - Fix race in recent callout work
Matthew Dillon [Wed, 26 Nov 2014 21:12:50 +0000 (13:12 -0800)]
kernel - Fix race in recent callout work

* CALLOUT_ARMED can only be cleared if the callout is not PENDING and also
  if there are no IPIs pending.  The last bit wasn't being checked properly,
  potentially leading to MP races.

5 years agomountd - Look up addresses before using getnetbyname()
Antonio Huete Jimenez [Wed, 26 Nov 2014 17:55:50 +0000 (18:55 +0100)]
mountd - Look up addresses before using getnetbyname()

- Lookup '-network' and '-mask' addresses numerically before trying
  getnetbyname()
- This avoids silly DNS queries.

Taken from: FreeBSD SVN 75861

5 years agodrm - Fix improper M_NOWAIT usage
Matthew Dillon [Wed, 26 Nov 2014 20:19:57 +0000 (12:19 -0800)]
drm - Fix improper M_NOWAIT usage

* Remove numerous mis-uses of M_NOWAIT, replacing with M_WAITOK | M_NULLOK.

5 years agokernel/acpi: Add missing ACPI_SERIAL_INIT calls for lock initialization.
Imre Vadasz [Wed, 26 Nov 2014 13:37:52 +0000 (14:37 +0100)]
kernel/acpi: Add missing ACPI_SERIAL_INIT calls for lock initialization.

5 years agomountd - IPv6 fixes for parsing and error checking
Antonio Huete Jimenez [Wed, 26 Nov 2014 17:41:43 +0000 (18:41 +0100)]
mountd - IPv6 fixes for parsing and error checking

- Fix numerous problems with netmasks in /etc/exports
- Improved get_net() and fixed an error with partial networks such
  as '127.1'
- More information in the SVN commit message

Taken from: FreeBSD SVN 75801

5 years agodc(1): init array field in the proper place.
Joris Giovannangeli [Wed, 26 Nov 2014 16:42:30 +0000 (17:42 +0100)]
dc(1): init array field in the proper place.

Obtained-from: OpenBSD
Found-by: Sebastien Marie
5 years agodrm/i915: Rename mm.gtt_list to bound_list
François Tigeot [Wed, 26 Nov 2014 07:49:24 +0000 (08:49 +0100)]
drm/i915: Rename mm.gtt_list to bound_list

Reducing differences with Linux 3.8.13.

5 years agokernel - Fix boot-time panic in NATA revealed by new callout mechanics
Matthew Dillon [Tue, 25 Nov 2014 22:11:42 +0000 (14:11 -0800)]
kernel - Fix boot-time panic in NATA revealed by new callout mechanics

* The NATA driver was using spin locks in a very, very dangerous way.
  They did not play nice with the new blocking callout mechanism.

* Replace all of NATAs spinlocks with lockmgr locks.  In addition, change
  all asynchronous callout_stop() calls to synchronous callout_stop_sync()
  calls, and use callout_init_lk() to auto-lock ch->state_lock for the
  callback, which fixes a long-time deadlock race.

Reported-by: tuxillo
5 years agokernel - Show ukmap in /proc/*/map output
Matthew Dillon [Tue, 25 Nov 2014 19:14:30 +0000 (11:14 -0800)]
kernel - Show ukmap in /proc/*/map output

* /proc/*/map now displays uksmap mappings.

5 years agokernel - Fix panic on upmap/kpmap read via procfs.
Matthew Dillon [Tue, 25 Nov 2014 18:57:13 +0000 (10:57 -0800)]
kernel - Fix panic on upmap/kpmap read via procfs.

* Fix a panic when upmap/kpmap is accessed via procfs.

Reported-by: Joris Giovannangeli
5 years agokernel - Fix callout deadlock in u4b
Matthew Dillon [Tue, 25 Nov 2014 18:20:41 +0000 (10:20 -0800)]
kernel - Fix callout deadlock in u4b

* Fix a deadlock which could freeze systems prior to the callout work and
  cause X to deadlock (but not totally freeze a system) after the callout
  work.

* Use the new callout_init_lk() auto-locking feature to handle a particular
  usb callout.  This allows the callout to be canceled if it interferes with
  a frontend callout_reset() call and also fixes the related race.

5 years agokernel - Implement new callout*() core
Matthew Dillon [Tue, 25 Nov 2014 18:15:42 +0000 (10:15 -0800)]
kernel - Implement new callout*() core

* Rewrite the callout*() function core to run more efficiently.
  This has a much better mechanism for locking a callout to a
  cpu and for dealing with synchronous waits for callbacks to
  complete.

  The IPI busy/wait loop has been removed for remote-cpu operations.
  The code now blocks normally and callers will have to understand that.
  This will make it a lot easier to debug races.

* Add callout_init_lk() which implements auto-locking similar
  to FreeBSD.  Several FreeBSD mechanisms already depend on it
  and it will make porting easier.  And it works pretty well.

* Preparation for a more synchronous interface.

* Note that the new API is roughly similar to the old
  except callout_reset() now issues a synchronous stop
  instead of an asynchronous stop.  Soon we will also
  switch around the function names to make MP operation
  and synchronous operation the default across the
  board.

5 years agokernel/acpi: Provide a local AcpiOsAllocateZeroed().
Sascha Wildner [Mon, 24 Nov 2014 20:45:08 +0000 (21:45 +0100)]
kernel/acpi: Provide a local AcpiOsAllocateZeroed().

5 years agodrm: Add linux/module.h and linux/moduleparam.h
François Tigeot [Mon, 24 Nov 2014 16:10:03 +0000 (17:10 +0100)]
drm: Add linux/module.h and linux/moduleparam.h

Obtained-from: FreeBSD/OFED

5 years agonetmsg: ctlinput is proto message not a proto-user message
Sepherosa Ziehau [Mon, 24 Nov 2014 01:16:26 +0000 (09:16 +0800)]
netmsg: ctlinput is proto message not a proto-user message

5 years agoigmp: IGMP processing mpsafe
Sepherosa Ziehau [Mon, 24 Nov 2014 00:03:35 +0000 (08:03 +0800)]
igmp: IGMP processing mpsafe

5 years agodrm/i915: revert part of "Make the GEM code more Linux-like"
François Tigeot [Sun, 23 Nov 2014 19:49:32 +0000 (20:49 +0100)]
drm/i915: revert part of "Make the GEM code more Linux-like"

This reverts part of commit d1c259eee6a290aadce1c78a746e131034aba76a
drm/i915: Make the GEM code more Linux-like

According to issue #2733 this code was causing ring initialization
failures on some machines.

5 years agoWorld: Remove the X11BASE variable
François Tigeot [Sun, 23 Nov 2014 15:32:59 +0000 (16:32 +0100)]
World: Remove the X11BASE variable

Requested-by: marino
5 years ago-h (human-readable counters) for netstat
Antonio Nikishaev [Sun, 23 Nov 2014 11:23:33 +0000 (15:23 +0400)]
-h (human-readable counters) for netstat

5 years agoOpenSSH: Correctly set xauth's path (2/2)
François Tigeot [Sun, 23 Nov 2014 11:41:12 +0000 (12:41 +0100)]
OpenSSH: Correctly set xauth's path (2/2)

X11BASE is used internally by dports and setting it globally
can be dangerous.
Only define this variable in the OpenSSH makefiles.

5 years agoservice(8): Sync with FreeBSD.
Robin Hahling [Sat, 22 Nov 2014 11:47:38 +0000 (12:47 +0100)]
service(8): Sync with FreeBSD.

5 years agoservice(8): Fix error message being displayed when invoking service
Robin Hahling [Sat, 22 Nov 2014 12:41:09 +0000 (13:41 +0100)]
service(8): Fix error message being displayed when invoking service

service(8) has been imported from FreeBSD. However, DragonFly rc(8) does
not have 'nojail', thus this would have no effect on the call to
rcorder(8).

5 years agorc.subr: Add function to find scripts in local_startup directories
Robin Hahling [Sat, 22 Nov 2014 12:08:11 +0000 (13:08 +0100)]
rc.subr: Add function to find scripts in local_startup directories

* Add 'find_local_scripts()' function which is useful for
service(8).

* Fix reference to function in service.sh. This fixes two issues in
  service(8) for which 'service -e' and 'service -l' would simply fail
  to list local startup scripts.

'find_local_scripts()' has been imported from FreeBSD, where it is
called 'find_local_scripts_new()'.

5 years agodrm: Move intel-gtt.h to include/drm
François Tigeot [Sun, 23 Nov 2014 09:23:35 +0000 (10:23 +0100)]
drm: Move intel-gtt.h to include/drm

5 years agoOpenSSH: Correctly set xauth's path
François Tigeot [Sun, 23 Nov 2014 10:11:42 +0000 (11:11 +0100)]
OpenSSH: Correctly set xauth's path

Revision 111f4c913a18de9586649cc1a374240679ec903a saw the removal
of X11BASE from the tree.

Howewer, it is still required by ssh(1) and sshd(8) to set the
default location of xauth(1).

Put it back but change the value to /usr/local following the change
from pkgsrc to dports.

5 years agoipdemux: Remove 'direction' parameter
Sepherosa Ziehau [Sun, 23 Nov 2014 07:50:44 +0000 (15:50 +0800)]
ipdemux: Remove 'direction' parameter

It is no longer needed/used.

5 years agoudp: Don't mess w/ hardware RSS for IP fragments
Sepherosa Ziehau [Sun, 23 Nov 2014 07:26:14 +0000 (15:26 +0800)]
udp: Don't mess w/ hardware RSS for IP fragments

ip_input() always checks RSS hash value for IP fragments, and there
is better chance that hardware calculates correct RSS hash value for
IP fragments.

5 years agoudp: udp_cport() has already been nuked
Sepherosa Ziehau [Sun, 23 Nov 2014 07:23:13 +0000 (15:23 +0800)]
udp: udp_cport() has already been nuked

5 years agotcp: Unitfy ctlinput and ctlport cmd/faddr/icmp_ip processing
Sepherosa Ziehau [Sun, 23 Nov 2014 07:10:10 +0000 (15:10 +0800)]
tcp: Unitfy ctlinput and ctlport cmd/faddr/icmp_ip processing

5 years agoudp: Fix parameter order of udp_addrcpu()
Sepherosa Ziehau [Sun, 23 Nov 2014 07:06:33 +0000 (15:06 +0800)]
udp: Fix parameter order of udp_addrcpu()

5 years agoudp: Unify ctlinput and ctlport cmd/faddr/icmp_ip processing
Sepherosa Ziehau [Sun, 23 Nov 2014 05:51:12 +0000 (13:51 +0800)]
udp: Unify ctlinput and ctlport cmd/faddr/icmp_ip processing

5 years agoinpcb: Define inp_notify_t
Sepherosa Ziehau [Sun, 23 Nov 2014 02:29:54 +0000 (10:29 +0800)]
inpcb: Define inp_notify_t

5 years agodrm/ttm: glob->lru_lock locking from Linux 3.9.11
François Tigeot [Sat, 22 Nov 2014 21:31:42 +0000 (22:31 +0100)]
drm/ttm: glob->lru_lock locking from Linux 3.9.11

5 years agovirtio_pci: Use device_probe_and_attach(), instead of DEVICE_ATTACH().
Imre Vadasz [Sat, 22 Nov 2014 08:29:49 +0000 (09:29 +0100)]
virtio_pci: Use device_probe_and_attach(), instead of DEVICE_ATTACH().

* By directly calling DEVICE_ATTACH(), we didn't get automatically created
  sysctl nodes (added in 8e4d13764bdfc916c23fb22158c65e486dce631c), and
  we didn't get automatic dmesg messages on child driver attachement
  (e.g. "vtblk0: <VirtIO Block Adapter> on virtio_pci1") .

* Since we have no direct equivalent to FreeBSD's device_attach(), use
  device_probe_and_attach(). This means we do a vtpci_set_status() cycle
  even if no matching driver is found.

5 years agokernel - Add lock canceling features
Matthew Dillon [Sat, 22 Nov 2014 08:10:19 +0000 (00:10 -0800)]
kernel - Add lock canceling features

* The current (typically exclusive) lock holder can enable cancel mode
  by executing lockmgr(lk, LK_CANCEL_BEG, 0).  This call always succeeds.
  The lock state is not otherwise affected.

  Any current threads blocked on the lock or any future thread which
  attempts to gain the lock, who also specify the LK_CANCELABLE flag,
  will be canceled as long as cancel mode is active and their operation
  will return ENOLCK.

  NOTE! Threads which do not specify LK_CANCELABLE are not affected by
cancel mode and their blocking locks will block normally.

  WARNING!  Cancel mode is not stackable.  The system will panic if you
  enable cancel mode on a lock where it is already enabled.

* The current (typically exclusive) lock holder can terminate cancel mode
  by executing lockmgr(lk, LK_CANCEL_END, 0).  This call always succeeds.
  Once canceled, any other threads that would block on the lock and specify
  the LK_CANCELABLE flag will block normally and not be canceled.

  The current lock holder can also terminate cancel mode by simply releasing
  the last lock with LK_RELEASE.  That is, a release where the lock count
  returns to 0.

* Lock canceling is an optional feature.  Your lock cannot be canceled unless
  you specify LK_CANCELABLE.

5 years agokernel - Increase default MAXTSIZ from 128M to 256M
Matthew Dillon [Fri, 21 Nov 2014 02:13:10 +0000 (18:13 -0800)]
kernel - Increase default MAXTSIZ from 128M to 256M

* Increase the default max text size from 128m to 256m.  Note that this
  value can also be overridden in /boot/loader.conf via kern.maxtsiz.

* Currently only chrome compiled w/ full debugging has a text size
  which exceeds 128M.  The normally compiled chrome is hitting 93MB
  though so we might as well up the limit now.

5 years agoinstaller: Add an initial testing tool.
Antonio Huete Jimenez [Thu, 20 Nov 2014 21:33:33 +0000 (22:33 +0100)]
installer: Add an initial testing tool.

- It forks the backend and runs the frontend on the parent
  process so all runs in one go.
- The idea is to be able to test certain functions from the
  installer without the need to run the whole thing.
- This is just the initial stuff!

5 years agodhclient: Fix a busy loop
Markus Pfeiffer [Thu, 20 Nov 2014 19:55:32 +0000 (19:55 +0000)]
dhclient: Fix a busy loop

The ifi->linkstat variable seemed to be not updated after the poll
returns in dispatch.c. This might only be a hack, but it makes the
busylooping go away.

5 years agomsk.4: Document that MSI is turned off by default.
Sascha Wildner [Thu, 20 Nov 2014 19:09:34 +0000 (20:09 +0100)]
msk.4: Document that MSI is turned off by default.

5 years agosound/pcm - Attempt to fix 'play interrupt timeout, channel dead' error
Matthew Dillon [Thu, 20 Nov 2014 18:58:14 +0000 (10:58 -0800)]
sound/pcm - Attempt to fix 'play interrupt timeout, channel dead' error

* Fix the timeout calculation to properly calculate the buffering
  timeout.

* Adjusted code taken from bug 2067 submission.

PR: 2067

5 years agocarp: ctlinput method only processes PRC_IFDOWN and PRC_IFUP
Sepherosa Ziehau [Thu, 20 Nov 2014 05:53:28 +0000 (13:53 +0800)]
carp: ctlinput method only processes PRC_IFDOWN and PRC_IFUP

5 years agokernel - Improve slab cleanup performance
Matthew Dillon [Wed, 19 Nov 2014 19:55:46 +0000 (11:55 -0800)]
kernel - Improve slab cleanup performance

* Convert ZoneAry[], FreeZones, and FreeOVZones from singly linked lists
  to doubly linked LISTs.  SLZone structure changes size but globaldata
  should stay the same.

* Primarily affects slab_cleanup() which appears to be able to eat
  an excessive amount of cpu on monster (systems with large amounts
  of memory), and may fix a spin lock timeout panic.

* We may need some more work to moderate the amount of time slab_cleanup()
  takes.

5 years agotools - A bunch of bugfixes for hammer-backup.sh
Antonio Huete Jimenez [Wed, 19 Nov 2014 16:05:15 +0000 (17:05 +0100)]
tools - A bunch of bugfixes for hammer-backup.sh

  - Fix a problem when trying to backup / PFS
  - Return errors on checksum failure. This can be used by other
    scripts to verify the files are not corrupt.
  - Force absolute paths to specify which PFS to backup
  - Fix a problem with incremental non-compressed backups
  - Set a memory limit to xz to avoid massive memory usage

5 years agotop: fix per status process count reporting
Joris Giovannangeli [Wed, 19 Nov 2014 11:41:32 +0000 (12:41 +0100)]
top: fix per status process count reporting

5 years agoFWIW, bring in FreeBSD's rgephy(4) manual page.
Sascha Wildner [Tue, 18 Nov 2014 22:46:42 +0000 (23:46 +0100)]
FWIW, bring in FreeBSD's rgephy(4) manual page.

flag0 support has been commented out since I could not find it in our
code.

5 years agosvc.8: Fix a number of references to other manual pages.
Sascha Wildner [Tue, 18 Nov 2014 22:38:01 +0000 (23:38 +0100)]
svc.8: Fix a number of references to other manual pages.

5 years agousbdi.9: Some small fixes.
Sascha Wildner [Tue, 18 Nov 2014 22:33:00 +0000 (23:33 +0100)]
usbdi.9: Some small fixes.

5 years agocpuctl.4: Some small fixes.
Sascha Wildner [Tue, 18 Nov 2014 22:30:17 +0000 (23:30 +0100)]
cpuctl.4: Some small fixes.

5 years agohammer - Better trailing '/' handling on PFS paths
Antonio Huete Jimenez [Tue, 18 Nov 2014 13:15:49 +0000 (14:15 +0100)]
hammer - Better trailing '/' handling on PFS paths

- Remove all trailing slashes from PFS paths to make sure
  there are no problems when performing operations on them.

5 years agovn_lock.9: Capitalize .Dt
Sascha Wildner [Tue, 18 Nov 2014 22:23:52 +0000 (23:23 +0100)]
vn_lock.9: Capitalize .Dt

5 years agocpuctl: Fix path in 'files'.
Sascha Wildner [Tue, 18 Nov 2014 21:38:11 +0000 (22:38 +0100)]
cpuctl: Fix path in 'files'.

5 years agodrm: Use lockmgr locks with Linux wait queues
François Tigeot [Tue, 18 Nov 2014 21:18:03 +0000 (22:18 +0100)]
drm: Use lockmgr locks with Linux wait queues

* On Linux, it is possible to grab a second spinlock in an already
  spinlock-protected code section.

* The wait_event() macro is used in such a situation in the i915 driver.
  One of the event checks itself tries to grab a second lock. What's more,
  this second lock is a lockmgr lock in the DragonFly kernel. This results
  in the following situation:

    spinlock
    lockmgr LK_EXCLUSIVE
    spinunlock

* Unfortunately if the lockmgr lock can't be acquired, the thread is put
  to sleep and a thread sleeping with a spinlock held leads to a general
  system freeze or a kernel panic.

* For that reason, we can't use a spinlock in Linux wait queues. Change
  the internal wait_queue_head_t lock to a lockmgr lock.

Thanks go to Imre Vadász for spotting this horrible issue.

5 years agoImport cpuctl pseudo device from FreeBSD
Joris Giovannangeli [Tue, 18 Nov 2014 20:49:21 +0000 (21:49 +0100)]
Import cpuctl pseudo device from FreeBSD

The cpuctl pseudo device allows to perform cpu microcode updates.

5 years agoloader: Fix XHCI description in help.common
Thomas Nikolajsen [Tue, 18 Nov 2014 21:06:22 +0000 (22:06 +0100)]
loader: Fix XHCI description in help.common

5 years agoloader: Fix typos in help.common
Thomas Nikolajsen [Tue, 18 Nov 2014 19:46:14 +0000 (20:46 +0100)]
loader: Fix typos in help.common

- ahci(4) doesn't use .0 for disable hint
- fix slice name in example

5 years agodrm: Make wait_event_interruptible interruptible and fix its return value.
Imre Vadasz [Sat, 15 Nov 2014 15:59:06 +0000 (16:59 +0100)]
drm: Make wait_event_interruptible interruptible and fix its return value.

* __wait_event_common now works like wait_event_interruptible_timeout does
  in Linux.

* wait_event_interruptible uses different return values than the other
  wait_event variants.

* translate -ERESTARTSYS to -EINTR in two obvious places in radeon_gem.c,
  before returning from an ioctl handler.

5 years agoVOP_OPENCLOSE.9: Fix a reference.
Sascha Wildner [Tue, 18 Nov 2014 11:53:37 +0000 (12:53 +0100)]
VOP_OPENCLOSE.9: Fix a reference.

5 years agovn_lock.9: Some small cleanup.
Sascha Wildner [Tue, 18 Nov 2014 11:53:00 +0000 (12:53 +0100)]
vn_lock.9: Some small cleanup.

5 years agoudp: Minor udp_ctlinput cleanup
Sepherosa Ziehau [Tue, 18 Nov 2014 07:07:06 +0000 (15:07 +0800)]
udp: Minor udp_ctlinput cleanup

5 years agotcp: Minor tcp_ctlinput cleanup
Sepherosa Ziehau [Tue, 18 Nov 2014 06:58:31 +0000 (14:58 +0800)]
tcp: Minor tcp_ctlinput cleanup

- Remove unnecessary crit section
- Const-fy

5 years agotcp: Discard non-error cmd after PRC_IS_REDIRECT(cmd) test
Sepherosa Ziehau [Tue, 18 Nov 2014 06:27:37 +0000 (14:27 +0800)]
tcp: Discard non-error cmd after PRC_IS_REDIRECT(cmd) test

Original code actually ignores all ICMP redirects.

5 years agoman9: Fix Makefile sorting.
Sascha Wildner [Mon, 17 Nov 2014 23:42:19 +0000 (00:42 +0100)]
man9: Fix Makefile sorting.

5 years agomanpages: Forgot to hook vn_lock.9 into the build.
Antonio Huete Jimenez [Mon, 17 Nov 2014 22:23:59 +0000 (23:23 +0100)]
manpages: Forgot to hook vn_lock.9 into the build.

5 years agomanpages: Add an updated version of vn_lock.9
Antonio Huete Jimenez [Mon, 17 Nov 2014 22:17:03 +0000 (23:17 +0100)]
manpages: Add an updated version of vn_lock.9

5 years agomanpages: VFS Compat API manpage update.
Antonio Huete Jimenez [Sat, 15 Nov 2014 17:33:28 +0000 (18:33 +0100)]
manpages: VFS Compat API manpage update.

- Reflect a bit better what's on the current codebase with
  regards to the old VFS API, which is still in use for many
  filesystems.
- Pseudocode present on the old API manpages has been removed.

In-discussion with: swildner

5 years agorcrun(8): Add rcstatus command to show the status of a rc script
Robin Hahling [Mon, 17 Nov 2014 15:53:22 +0000 (16:53 +0100)]
rcrun(8): Add rcstatus command to show the status of a rc script

* Add rcrun status, and its shortcut rcstatus, to show the status of a
  rc script.
* Update rcrun(8) manual page entry to reflect the change.

5 years agocamcontrol(8): update usage() for the new 'devlist -b' flag
Robin Hahling [Mon, 17 Nov 2014 07:14:42 +0000 (08:14 +0100)]
camcontrol(8): update usage() for the new 'devlist -b' flag

5 years agoicmp: Don't convert saved ip header's length into host byte order
Sepherosa Ziehau [Mon, 17 Nov 2014 06:42:39 +0000 (14:42 +0800)]
icmp: Don't convert saved ip header's length into host byte order

No kernel code depends on this and it actually whacks the icmp header
passed to userland through SOCK_RAW socket.  ICMP redirect processing
does not need fix (it does not do the convertion).

5 years agoicmp: Fix wrong icmp header cast
Sepherosa Ziehau [Mon, 17 Nov 2014 06:22:33 +0000 (14:22 +0800)]
icmp: Fix wrong icmp header cast

This was introduced by efa391c40c414e7071b2041f1888180deb1806b9

5 years agorc.subr: Add required_modules processing.
Peter Avalos [Sun, 31 Aug 2014 14:33:15 +0000 (07:33 -0700)]
rc.subr: Add required_modules processing.

This will kldload appropriate modules, needed by some dports (e.g.
openvpn).

Obtained-from:   FreeBSD

5 years agoicmp: Use inet_ntop() to log ip addresses
Sepherosa Ziehau [Mon, 17 Nov 2014 01:38:17 +0000 (09:38 +0800)]
icmp: Use inet_ntop() to log ip addresses

5 years agoproto: ctlinput is a pr method; not a pru method
Sepherosa Ziehau [Mon, 17 Nov 2014 00:52:52 +0000 (08:52 +0800)]
proto: ctlinput is a pr method; not a pru method

5 years agodrm: Use the ERESTARTSYS error code
François Tigeot [Sun, 16 Nov 2014 22:14:17 +0000 (23:14 +0100)]
drm: Use the ERESTARTSYS error code

* Linux kernel functions can return -ERESTARTSYS in some cases, a
  negative value indicating an error (typically -512)

* Howewer, ERESTARTSYS was previously as ERESTART, itself defined
  as -1 in *BSD kernels

* The -ERESTARTSYS return value thus was positive on the DragonFly
  kernel, potentially breaking various drm error checks.

* Fix this issue by defining ERESTARTSYS separately

Thanks-to: Imre Vadasz for discovering the original problem