Commit Graph

138222 Commits

Author SHA1 Message Date
dfr
79d2dfdaa6 Add the new kernel-mode NFS Lock Manager. To use it instead of the
user-mode lock manager, build a kernel with the NFSLOCKD option and
add '-k' to 'rpc_lockd_flags' in rc.conf.

Highlights include:

* Thread-safe kernel RPC client - many threads can use the same RPC
  client handle safely with replies being de-multiplexed at the socket
  upcall (typically driven directly by the NIC interrupt) and handed
  off to whichever thread matches the reply. For UDP sockets, many RPC
  clients can share the same socket. This allows the use of a single
  privileged UDP port number to talk to an arbitrary number of remote
  hosts.

* Single-threaded kernel RPC server. Adding support for multi-threaded
  server would be relatively straightforward and would follow
  approximately the Solaris KPI. A single thread should be sufficient
  for the NLM since it should rarely block in normal operation.

* Kernel mode NLM server supporting cancel requests and granted
  callbacks. I've tested the NLM server reasonably extensively - it
  passes both my own tests and the NFS Connectathon locking tests
  running on Solaris, Mac OS X and Ubuntu Linux.

* Userland NLM client supported. While the NLM server doesn't have
  support for the local NFS client's locking needs, it does have to
  field async replies and granted callbacks from remote NLMs that the
  local client has contacted. We relay these replies to the userland
  rpc.lockd over a local domain RPC socket.

* Robust deadlock detection for the local lock manager. In particular
  it will detect deadlocks caused by a lock request that covers more
  than one blocking request. As required by the NLM protocol, all
  deadlock detection happens synchronously - a user is guaranteed that
  if a lock request isn't rejected immediately, the lock will
  eventually be granted. The old system allowed for a 'deferred
  deadlock' condition where a blocked lock request could wake up and
  find that some other deadlock-causing lock owner had beaten them to
  the lock.

* Since both local and remote locks are managed by the same kernel
  locking code, local and remote processes can safely use file locks
  for mutual exclusion. Local processes have no fairness advantage
  compared to remote processes when contending to lock a region that
  has just been unlocked - the local lock manager enforces a strict
  first-come first-served model for both local and remote lockers.

Sponsored by:	Isilon Systems
PR:		95247 107555 115524 116679
MFC after:	2 weeks
2008-03-26 15:23:12 +00:00
phk
632e5d39f7 Rename timer0_max_count to i8254_max_count.
Rename timer0_real_max_count to i8254_real_max_count and make it static.
Rename timer_freq to i8254_freq and make it a loader tunable.
2008-03-26 15:03:24 +00:00
phk
44bfb30efd The RTC related pscnt and psdiv variables have no business being public. 2008-03-26 13:25:27 +00:00
phk
6f9c1b7d47 Remove old sysctl stuff which is long gone in other arch's. 2008-03-26 13:03:51 +00:00
brueffer
b64d211df2 Fix some "in in" typos in comments.
PR:		121490
Submitted by:	Anatoly Borodin <anatoly.borodin@gmail.com>
Approved by:	rwatson (mentor), jkoshy
MFC after:	3 days
2008-03-26 07:32:08 +00:00
remko
5c2e61e801 Document the removal data for usbdevs.h and usbdevs_data.h,
sort the entry into it's correct place (behind 200407XX before
200406XX because we have an explicit date here).

PR:		misc/122098
Submitted by:	"John Hein" <jhein@timing.com>
MFC after:	3 days
2008-03-26 06:45:28 +00:00
alc
0e2f1e0b38 Enable the automatic creation of superpage reservations. 2008-03-26 03:12:00 +00:00
sam
2b9c326fca split out tty create part of ucom_attach into ucom_attach_tty so
derived drivers can use it

Submitted by:	Jared Go
MFC after:	3 weeks
2008-03-25 23:46:24 +00:00
sam
5f88f5ba90 add some CDMA modems
Submitted by:	Jared Go
MFC after:	1 week
2008-03-25 23:35:32 +00:00
scottl
a3b7a4bce8 Implement taskqueue_block() and taskqueue_unblock(). These functions allow
the owner of a queue to block and unblock execution of the tasks in the
queue while allowing tasks to continue to be added queue.  Combining this
with taskqueue_drain() allows a queue to be safely disabled.  The unblock
function may run (or schedule to run) the queue when it is called, just as
calling taskqueue_enqueue() would.

Reviewed by: jhb, sam
2008-03-25 22:38:45 +00:00
sam
268354d516 fix botched merge of syslog support to the vendor branch; these files
were off the branch so we need to pull the changes back up
2008-03-25 21:47:03 +00:00
emaste
5e698c9f5e Add 64-bit array support for RAIDs > 2TB. This corresponds to ~ Adaptec
driver build 15317.

Tested on:
Adaptec 2230S, Firmware 4.2-0 (8205)
ICP ICP5085BL, Firmware 5.2-0 (12814)

Submitted by:	Adaptec
2008-03-25 21:39:06 +00:00
sam
f9c4823d64 add __noinline
Submitted by:	imp
Reviewed by:	kan (long ago)
MFC after:	3 weeks
2008-03-25 21:30:01 +00:00
sam
d5c642ca44 expose if_purgemaddrs, it will be used by the vap code unless someone
redesigns the mcast support code in the next few weeks

MFC after:	3 weeks
2008-03-25 21:23:32 +00:00
sam
12e7d1940e IFM_IEEE80211_IBSSMASTER hasn't been used in many years; replace it
with IFM_IEEE80211_WDS which will be used by the forthcoming vap code

MFC after:	3 weeks
2008-03-25 21:22:43 +00:00
sam
8e10753c85 enable dynamic addition of "show all" commands
MFC after:	3 weeks
2008-03-25 20:36:32 +00:00
brueffer
172c1f8c45 Bring this manpage more in line with other wlan driver manpages. 2008-03-25 20:32:19 +00:00
jhb
fce41b3b76 Regen. 2008-03-25 19:35:34 +00:00
jhb
a8ff4f0990 Add entries for the cpuset-related system calls. The existing system calls
can be used on little endian systems.

Pointy hat to:	jeff
2008-03-25 19:34:47 +00:00
emaste
4146778caa Correct data direction flags in aac_bio_command() in the
!AAC_FLAGS_RAW_IO && AAC_FLAGS_SG_64BIT case.

Submitted by:   Adaptec
2008-03-25 18:34:04 +00:00
ru
771a69438e Add code that should catch the most common case when date/time is
set incorrectly.
2008-03-25 15:47:22 +00:00
ru
e8523e8018 s/M_TRYWAIT/M_WAIT/ 2008-03-25 15:44:49 +00:00
ru
5398c833ef Compile libthr with warnings.
(Somehow this file sneaked from initial commit.)
2008-03-25 15:33:00 +00:00
remko
24e4d4b1f4 Add a missing ;.
PR:		misc/122069
Submitted by:	taku@tekipaki.jp
MFC after:	3 days
Approved by:	imp (mentor, implicit trivial change).
2008-03-25 15:16:19 +00:00
ru
e8df07e5aa Compile libthr with warnings. 2008-03-25 13:28:12 +00:00
ru
e9ab62a9ff Fix build.
Reported by:	ache, tinderbox
2008-03-25 13:20:52 +00:00
cperciva
ad5120d879 Add /boot/device.hints to the list of files which will have local
modifications merged.  I had initially expected that people would
put any local changes into /boot/loader.conf, but it turns out that
editing /boot/device.hints is something many people do.

Suggested by:	Jaakko Heinonen
MFC after:	1 week
2008-03-25 12:13:12 +00:00
cperciva
e212b28cc6 Adjust recognize-shared-libraries regex to avoid matching symlinks to
shared libraries.

This fixes a problem which resulted in 6.x->7.x upgrades having the
/usr/lib/libpthread.so -> libthr.so symlink missing; what happened was
that the old libpthread.so symlink pointed to /lib/libpthread.so.2 --
which matched the "/lib/*\.so\.[0-9]+" regex -- but the new symlink
didn't, so FreeBSD Update got confused and deleted the symlink as part
of its "remove old shared libraries" step.

To recreate the symlink (which I understand is necessary for ports like
KDE to build) on a 7.x system which FreeBSD Update upgraded from 6.x:
# ln -s libthr.so /usr/lib/libpthread.so

Reported by:	Dmitry RCL Rekman
Help diagnosing bug from:	kris
MFC after:	7 days
2008-03-25 11:31:16 +00:00
ru
e2f2131976 Fixed mis-implementation of pthread_mutex_get{spin,yield}loops_np().
Reviewed by:	davidxu
2008-03-25 09:48:10 +00:00
ru
3b1bf8c2e9 Replaced the misleading uses of a historical artefact M_TRYWAIT with M_WAIT.
Removed dead code that assumed that M_TRYWAIT can return NULL; it's not true
since the advent of MBUMA.

Reviewed by:	arch

There are ongoing disputes as to whether we want to switch to directly using
UMA flags M_WAITOK/M_NOWAIT for mbuf(9) allocation.
2008-03-25 09:39:02 +00:00
ru
0655a583e2 Regen after changing prototypes of cpuset_{get,set}affinity(). 2008-03-25 09:14:17 +00:00
ru
4feaeed265 Fixed type of the fourth argument of cpuset_{get,set}affinity(2) to be size_t.
Prodded by:	davidxu
2008-03-25 09:11:53 +00:00
rwatson
59900e5206 Check for a NULL free buffer pointer in BPF before invoking
bpf_canfreebuf() in order to avoid potentially calling a non-inlinable
but trivial function in zero-copy buffer mode for every packet
received when we couldn't free the buffer anyway.

MFC after:	4 months
2008-03-25 07:41:33 +00:00
weongyo
9a9594d179 Add support for Marvell Libertas 88W8335 based PCI network adapters.
Reviewed by:	sam, many wireless people
Approved by:	thompsa (mentor)
2008-03-25 06:32:33 +00:00
edwin
953e13c915 Fix double patch on this file. 2008-03-25 03:04:54 +00:00
edwin
07425727c8 MFV of tzdata2008a
Changes:
- Calcutta -> Kolkata
- Iraq DST changes
- Syria DST changes
- Saigon -> Ho_Chi_Minh
- Cuba DST changes
- New area America/Argentina/San_Luis

Approved by:	grog@ (mentor)
2008-03-25 02:56:25 +00:00
ru
6c91c9345d Spell "blackhole" correctly and fix one grammar nit. 2008-03-24 22:57:55 +00:00
mav
9af7fc155d Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pair
of pptpgre and ksocket nodes for all calls between two peers. This patch
modifies node's API by adding new "session_%04x" hook names support, while
keeping backward compatibility.

Together with appropriate user-level support (by latest mpd5) it gives
huge performance benefits for case of multiple active calls between
two peers because of avoiding data duplication and extra socket processing.
On my benchmarks I have got more then 10 times speedup for the 200
simultaneous PPTP calls between two peers.
In conclusion, it allows now to build effective "clients <=> PAC <=> PNS"
setups.
2008-03-24 22:55:22 +00:00
jkim
3e99f5d364 Belatedly add BPF_JITTER in NOTES for supported architectures. 2008-03-24 22:23:22 +00:00
jkim
e4afcc95a9 Fix build with option BPF_JITTER. 2008-03-24 22:21:32 +00:00
jkim
f1bce3f01d Remove redundant inclusions of net/bpfdesc.h. 2008-03-24 22:16:46 +00:00
sam
36aa29d3be This commit was generated by cvs2svn to compensate for changes in r177580,
which included commits to RCS files with non-trunk default branches.
2008-03-24 21:20:35 +00:00
sam
85fae4fa18 add support for driver-based RADIUS ACL's (committed on vendor branch as it's
been sent upstream)

Submitted by:	Chris Zimmermann
2008-03-24 21:20:35 +00:00
sam
8e449bffe3 resolve merge conflicts
MFC after:	3 weeks
2008-03-24 21:08:25 +00:00
sam
66e67b92fe Import of hostapd 0.5.10 2008-03-24 21:06:16 +00:00
sam
9c6231a737 This commit was generated by cvs2svn to compensate for changes in r177576,
which included commits to RCS files with non-trunk default branches.
2008-03-24 21:06:16 +00:00
kmacy
59f40fe008 change inp_wlock_assert to inp_lock_assert 2008-03-24 20:24:04 +00:00
sam
c0e1e43906 enable syslog support and add -s option to the man page
MFC after:	3 weeks
2008-03-24 20:19:20 +00:00
sam
2fb2cdc2a1 This commit was generated by cvs2svn to compensate for changes in r177572,
which included commits to RCS files with non-trunk default branches.
2008-03-24 20:13:41 +00:00
sam
469052a317 add syslog support (committed on vendor branch as it's been sent upstream)
PR:		bin/116190
2008-03-24 20:13:41 +00:00