Commit Graph

7695 Commits

Author SHA1 Message Date
Attilio Rao
2028867def In current code, threads performing an interruptible sleep (on both
sxlock, via the sx_{s, x}lock_sig() interface, or plain lockmgr), will
leave the waiters flag on forcing the owner to do a wakeup even when if
the waiter queue is empty.
That operation may lead to a deadlock in the case of doing a fake wakeup
on the "preferred" (based on the wakeup algorithm) queue while the other
queue has real waiters on it, because nobody is going to wakeup the 2nd
queue waiters and they will sleep indefinitively.

A similar bug, is present, for lockmgr in the case the waiters are
sleeping with LK_SLEEPFAIL on.  In this case, even if the waiters queue
is not empty, the waiters won't progress after being awake but they will
just fail, still not taking care of the 2nd queue waiters (as instead the
lock owned doing the wakeup would expect).

In order to fix this bug in a cheap way (without adding too much locking
and complicating too much the semantic) add a sleepqueue interface which
does report the actual number of waiters on a specified queue of a
waitchannel (sleepq_sleepcnt()) and use it in order to determine if the
exclusive waiters (or shared waiters) are actually present on the lockmgr
(or sx) before to give them precedence in the wakeup algorithm.
This fix alone, however doesn't solve the LK_SLEEPFAIL bug. In order to
cope with it, add the tracking of how many exclusive LK_SLEEPFAIL waiters
a lockmgr has and if all the waiters on the exclusive waiters queue are
LK_SLEEPFAIL just wake both queues.

The sleepq_sleepcnt() introduction and ABI breakage require
__FreeBSD_version bumping.

Reported by:	avg, kib, pho
Reviewed by:	kib
Tested by:	pho
2009-12-12 21:31:07 +00:00
Benedict Reuschling
8031b25721 Reference the correct man page for firmware(9).
PR:             docs/140985
Submitted by:   Glen Barber (glen dot j dot barber at gmail dot com)
MFC after:      7 days
Reviewed by:    rpaulo
Approved by:    rpaulo, jkois (mentor)
2009-12-11 19:36:10 +00:00
Nathan Whitehorn
eaddd81cbf Add manpages for ams(4), akbd(4), adb(4), and cuda(4), which describe
various drivers for Apple Desktop Bus controllers and peripherals.

MFC after:	3 days
2009-12-03 18:13:47 +00:00
Edward Tomasz Napierala
4cbe4bf979 Add missing parameter description. 2009-12-02 18:11:14 +00:00
Bjoern A. Zeeb
aaae58c491 Unbreak user space after if_timer/if_watchdog removal in r199975.
Tested by:	glebius
2009-12-01 14:56:00 +00:00
Andriy Gapon
5022f21bd9 amdsbwd: new driver for AMD SB600/SB7xx watchdog timer
The hardware is compliant with WDRT specification, so I originally
considered including generic WDRT watchdog support, but decided
against it, because I couldn't find anyone to the code for me.
WDRT seems to be not very popular.
Besides, generic WDRT porbably requires a slightly different driver
approach.

Reviewed by:	des, gavin, rpaulo
MFC after:	3 weeks
2009-11-30 11:44:03 +00:00
Bjoern A. Zeeb
fbd69dff68 Correct typo.
Reported by:	gabor
MFC after:	5 days
2009-11-29 21:03:54 +00:00
Bjoern A. Zeeb
a77cb332ee Enable IPcomp by default.
PR:		kern/123587
MFC after:	5 days
2009-11-29 20:47:43 +00:00
Peter Pentchev
2cacf8cffb Fix the cross-reference to sctp_opt_info in the text - section 3, not 2.
PR:		140938
Submitted by:	Bruce Cran <bruce@cran.org.uk>
MFC after:	2 weeks
2009-11-27 13:08:25 +00:00
Christian Brueffer
a3786ac52e Add IBM ServeRAID-MR10i to the hardware list.
Submitted by:	pluknet <pluknet@gmail.com>
MFC after:	3 days
2009-11-26 13:25:07 +00:00
Christian Brueffer
eaea833385 Grammar and mdoc improvements.
MFC after:	3 days
2009-11-24 13:44:53 +00:00
Christian Brueffer
473fbad3c9 LSI MegaRAID 9260 works, sort the hardware list while here.
Submitted by:	Jason <jhelfman@e-e.com>
MFC after:	3 days
2009-11-24 08:14:22 +00:00
Alexander Motin
c01cccb81c Refer more recently added Marvell chips. 2009-11-23 09:02:08 +00:00
Alexander Motin
ca17f444be Add ada(4) man page. 2009-11-19 16:19:05 +00:00
Xin LI
35d9ffb960 Add a missing .Ed tag.
MFC after:	2 weeks
2009-11-18 01:13:15 +00:00
Xin LI
3b5dbf01f7 rc.early(8) was removed as of 20090530 so remove manual page reference
to it.

MFC after:	1 week
2009-11-18 00:56:05 +00:00
Christian Brueffer
ad035daf08 Fix typo.
PR:		140615
Submitted by:	Andrius Morkunas <hinokind@gmail.com>
MFC after:	3 days
2009-11-17 07:06:41 +00:00
Doug Barton
77db28c93e In r199127/r199152 I forgot to bump .Dd 2009-11-15 23:31:07 +00:00
Rui Paulo
26970b2012 Add atp(4) man page.
Submitted by:	 Rohit Grover <rgrover1@gmail.com>
2009-11-15 18:31:57 +00:00
Alexander Motin
8fd5093c2a Remove part that HDMI is not implemented. It had different meaning and
confuse users.
Extend BUGS section.
Add some supported chipsets.
2009-11-13 09:57:50 +00:00
Xin LI
1a9d4dda9b Revert revision 199201 for now as it has introduced a kernel vulnerability
and requires more polishing.
2009-11-12 19:02:10 +00:00
Xin LI
41c8c6e876 Add interface description capability as inspired by OpenBSD.
MFC after:	3 months
2009-11-11 21:30:58 +00:00
Doug Barton
127de7748c s/a default/the default/
Submitted by:	remko
2009-11-10 19:50:28 +00:00
Doug Barton
b31787ae6c Add a note about no hostname leading to "Amnesiac" on the console
The text is inspired by the PR, but more in line with the existing text

PR:		docs/140434
Submitted by:	Jason Helfman <jhelfman@e-e.com>
2009-11-10 03:18:49 +00:00
Alexander Motin
c43ee88764 Introduce hw.hptrr.attach_generic loader tunable to deny hptrr driver
attach chips with generic Marvell (non-HighPoint) PCI identification.
These chips are also supported by ata(4). Some vendors, like Supermicro,
are using same chips without providing HPT RAID BIOS.

PR:		kern/120842, kern/136750
2009-11-08 11:33:51 +00:00
Pyun YongHyeon
710460e8af 88E8057(Ultra 2) is now supported. 2009-11-07 01:18:03 +00:00
Alexander Motin
1f02c0f7a9 Document support for more chips. 2009-11-06 11:17:33 +00:00
Benno Rice
9d44cd42c1 Fix typo (noded -> nodes). 2009-11-04 04:12:56 +00:00
Christian Brueffer
cf6c5eebe7 Use our canonical .Dd format.
Submitted by:	Ulrich Spoerlein
2009-11-02 12:35:38 +00:00
Remko Lodder
ad8b9147e6 Document the WWWSUPFILE variable.
PR:		137723
Submitted by:	Sofian Brabez <sbrabez at gmail dot com>
Approved by:	imp (mentor, implicit)
MFC after:	3 days
Facilitated by:	Snow B.V.
2009-11-02 12:03:04 +00:00
Christian Brueffer
6652a11014 Revert part of r198363, there is no "device cam", it is
included in "device scbus".

MFC after:	3 days
2009-10-29 15:59:27 +00:00
Ruslan Ermilov
9589412053 Back in 2003, get_cyclecount() was changed to use binuptime() instead
of nanotime().  Reflect this change in a manpage.

Reviewed by:	phk, markm
2009-10-29 09:45:05 +00:00
Christian Brueffer
3d93e0e9ec Fix date (1) and SEE ALSO section.
Submitted by:	Ulrich Spoerlein (1)
MFC after:	1 week
2009-10-28 14:39:27 +00:00
Christian Brueffer
613628c4d8 Fix typos and mdoc style. 2009-10-27 17:22:03 +00:00
Ed Maste
e04cb6afe4 Add link for callout_schedule(9). 2009-10-27 14:37:25 +00:00
Ulf Lilleengen
0e0ed74fcc - Add support for Marvell Yukon 88E8042 device.
Submitted by:	Mario Lobo <mlobo -at- digiart.art.br>
Approved by:	yongari
2009-10-25 21:46:38 +00:00
Christian Brueffer
dade5b4d4c Spell out the name of the month. 2009-10-25 17:47:52 +00:00
Rui Paulo
2267cb3d7f Update according to the latest iwn(4) driver import. 2009-10-25 11:01:53 +00:00
Rui Paulo
749976613e Replace ocurrences of FreeBSD CURRENT by FreeBSD 8.0.
MFC after:	2 days
2009-10-24 11:32:02 +00:00
Christian Brueffer
5d98bcc2ff List more dependencies for these drivers. While here, convert
atapicam(4) to use our standard section 4 SYNOPSIS layout.

PR:		132525
Submitted by:	gcooper
MFC after:	3 days
2009-10-22 11:35:12 +00:00
Pawel Jakub Dawidek
fa3e572c93 Remove self-reference. 2009-10-22 08:38:27 +00:00
Christian Brueffer
4e22046f33 Improve the description of the malofw kernel module installation.
PR:		132193
Submitted by:	Frank Staals <frank@fstaals.net>
Based on a patch by: gavin
MFC after:	3 days
2009-10-21 09:22:40 +00:00
Andriy Gapon
782d6aff93 ichwd.4: fix r198272, restore watchdogd(8) reference
In r198272 I didn't notice that watchdog(8) and watchdogd(8)
are different things and instead of fixing watchdogd markup
I simply nuked the line.

Noticed by:	emaste
Pointy hat to:	avg
2009-10-20 14:06:07 +00:00
Andriy Gapon
2b201a1767 minor: fix sorting of some amd* entries in some makefiles
MFC after:	1 week
2009-10-20 13:22:54 +00:00
Andriy Gapon
cc48afe4e0 ichwd.4: remove a stray line
Nod from:	des
MFC after:	3 days
2009-10-20 09:32:22 +00:00
Christian Brueffer
07ba0ec4ff Powercrypt and NetSec seem to be defunct (webpages point to link farms
and a google search yields no alternative).  Remove the links but
keep the entries around for reference.

PR:		139756
Submitted by:	Patrick Oonk <patrick@pine.nl>
MFC after:	3 days
2009-10-19 14:36:12 +00:00
Weongyo Jeong
c2d7acaf5d adds devices supportted by urtw(4) and bumps date. 2009-10-18 00:46:59 +00:00
Christian Brueffer
7024354df3 Sort SEE ALSO. 2009-10-16 12:32:07 +00:00
John Baldwin
37b8ef16cd Add a facility for associating optional descriptions with active interrupt
handlers.  This is primarily intended as a way to allow devices that use
multiple interrupts (e.g. MSI) to meaningfully distinguish the various
interrupt handlers.
- Add a new BUS_DESCRIBE_INTR() method to the bus interface to associate
  a description with an active interrupt handler setup by BUS_SETUP_INTR.
  It has a default method (bus_generic_describe_intr()) which simply passes
  the request up to the parent device.
- Add a bus_describe_intr() wrapper around BUS_DESCRIBE_INTR() that supports
  printf(9) style formatting using var args.
- Reserve MAXCOMLEN bytes in the intr_handler structure to hold the name of
  an interrupt handler and copy the name passed to intr_event_add_handler()
  into that buffer instead of just saving the pointer to the name.
- Add a new intr_event_describe_handler() which appends a description string
  to an interrupt handler's name.
- Implement support for interrupt descriptions on amd64 and i386 by having
  the nexus(4) driver supply a custom bus_describe_intr method that invokes
  a new intr_describe() MD routine which in turn looks up the associated
  interrupt event and invokes intr_event_describe_handler().

Requested by:	many
Reviewed by:	scottl
MFC after:	2 weeks
2009-10-15 14:54:35 +00:00
Christian Brueffer
a2ef0aff10 Use our standard section 4 SYNOPSIS.
MFC after:	3 days
2009-10-15 11:32:05 +00:00