alc [Fri, 20 Jun 2003 04:20:36 +0000 (04:20 +0000)]
The so-called "optimized copy-on-write fault" case should not require
the vm map lock. What's really needed is vm object locking, which
is (for the moment) provided Giant.
davidxu [Fri, 20 Jun 2003 03:36:45 +0000 (03:36 +0000)]
When a STOP signal is being sent to a process, it is possible all
threads in the process have already masked the signal, so job control
is delayed. But later a thread unmasking the STOP signal should enable
job control, so in issignal(), scanning all threads in process to see
if we can direct suspend some of them, not just suspend current thread.
alfred [Thu, 19 Jun 2003 18:13:07 +0000 (18:13 +0000)]
Unlock the struct file lock before aquiring Giant, otherwise
we can deadlock because of lock order reversals. This was not
caught because Witness ignores pool mutexes right now.
murray [Thu, 19 Jun 2003 07:24:26 +0000 (07:24 +0000)]
phk added the -x option in May 2000, but only for regular files; for
special files it was treated like -l. This commit adds the -x option
in for special files as well.
PR: bin/46249
Submitted by: Colin Percival <cperciva@sfu.ca>
murray [Thu, 19 Jun 2003 07:02:00 +0000 (07:02 +0000)]
In the build process, fortune files have been randomized since at
least the 4.4-lite days. This is pointless, since fortune(6) performs
its own randomization. It was also problematic for binary update
systems such as ports/security/freebsd-update. This commit simply
removes the -r option to strfile so that the datfiles are constant.
jake [Thu, 19 Jun 2003 05:27:04 +0000 (05:27 +0000)]
- Rename the IPI_WAIT macro to IPI_DONE.
- Don't require all receivers of ipis to wait for all other receivers,
only that the sender wait for all receivers. This should reduce the
amount of time spent with interrupts disabled, which may be a cause
of ipi timeouts.
truckman [Thu, 19 Jun 2003 04:10:56 +0000 (04:10 +0000)]
FILE_LOCK() uses a pool mutex, as does the vnode v_vnlock. Since pool
mutexes are supposed to only be used as leaf mutexes, and what appear
to be separate pool mutexes could be aliased together, it is bad idea
for a thread to attempt to hold two pool mutexes at the same time.
Slightly rearrange the code in kern_open() so that FILE_UNLOCK() is
called before calling VOP_GETVOBJECT(), which will grab the v_vnlock
mutex.
jmg [Thu, 19 Jun 2003 02:50:08 +0000 (02:50 +0000)]
make iicbb_devclass and iicbb_driver globally visible. This will let
drivers that implemnt the i2c bit banging bus interface not have to
recompile iicbb in order to add an attachment for it.
This will mean the bktr and other definitions can go back to their
respective drivers.
scottl [Thu, 19 Jun 2003 01:49:04 +0000 (01:49 +0000)]
Fixing some glaring problems with aac_disk_dump().
- Mark that it cannot handle greater than 4GB of RAM at this time. Fixing
that will come later. Fail any attempts to dump above thati limit.
- If a call to aac_disk_dump() needs to be split into multiple i/o's,
increment the virtual offset after each i/o instead of just dumping the
same offset over and over again.
- Bail out if bus_dmamap_load() returns an error. Error recovery is likely
not possible.
silby [Wed, 18 Jun 2003 19:00:25 +0000 (19:00 +0000)]
Forced commit:
Rev 1.201 also removed the out of file descriptor warning messages
displayed to the console. They were not ratelimited, and only made
a bad situation more annoying.
silby [Wed, 18 Jun 2003 18:57:58 +0000 (18:57 +0000)]
Reserve the last 5% of file descriptors for root use. This should allow
systems to fail more gracefully when a file descriptor exhaustion situation
occurs.
Original patch by: David G. Andersen <dga@lcs.mit.edu>
PR: 45353
MFC after: 1 week
jake [Wed, 18 Jun 2003 17:49:52 +0000 (17:49 +0000)]
Add FBTYPEs used by the sbus bus support in XFree86. This uses some of
the values that are "reserved", but they are not reserved anywhere else
so I'm assuming this is what they were unreserved for. Unfortunately
some of the values for local syscons types overlap the values used for
sbus adapters elsewhere, so we can't have all the same values.
jake [Wed, 18 Jun 2003 17:03:04 +0000 (17:03 +0000)]
Ignore fake ttes in pmap_copy, its too hard to deal with them not having
a real vm_page right now. This fixes a panic when processes with resident
device mappings fork, such as the X server.
tmm [Wed, 18 Jun 2003 16:41:36 +0000 (16:41 +0000)]
Further cleanup of the sparc64 busdma implementation:
- Move prototypes for sparc64-specific helper functions from bus.h to
bus_private.h
- Move the method pointers from struct bus_dma_tag into a separate
structure; this saves some memory, and allows to use a single method
table for each busdma backend, so that the bus drivers need no longer
be changed if the methods tables need to be modified.
- Remove the hierarchical tag method lookup. It was never really useful,
since the layering is fixed, and the current implementations do not
need to call into parent implementations anyway. Each tag inherits
its method table pointer and cookie from the parent (or the root tag)
now, and the method wrapper macros directly use the method table
of the tag.
- Add a method table to the non-IOMMU backend, remove unnecessary
prototypes, remove the extra parent tag argument.
- Rename sparc64_dmamem_alloc_map() and sparc64_dmamem_free_map() to
sparc64_dma_alloc_map() and sparc64_dma_free_map(), move them to a
better place and use them for all map allocations and deallocations.
- Add a method table to the iommu backend, and staticize functions,
remove the extra parent tag argument.
- Change the psycho and sbus drivers to just set cookie and method table
in the root tag.
- Miscellaneous small fixes.
ru [Wed, 18 Jun 2003 15:24:21 +0000 (15:24 +0000)]
Make the execle() synopsis look (again) like a normal C prototype.
Also fixed the rest of ell (list) functions prototypes to include
a (commented out) terminating null pointer.
Pointed out by: bde
Obtained from: POSIX.1-2001
Glanced at by: imp
NB: Since the fact that multiple disk devices are in fact the same
device is not known to GEOM, the geom taste/spoil process cannot
fully catch all corner cases and this module can therefore be
confused if you do the right wrong things.
NB: The disk level drivers need to do the right thing for this to
be useful, and that is not by definition currently the case.
mr [Wed, 18 Jun 2003 09:11:34 +0000 (09:11 +0000)]
Add (optional, default off) support to kerberos5 for supporting openldap.
Tests with openldap20 where successful whereas openldap21 didn't like
the way hdb-ldap accessed openldap (doesn't like non-bind access).
To activate the support put a USE_OPENLDAP=yes in your make.conf.
The OPENLDAPBASE is also optional and points to /usr/local as default.
tjr [Tue, 17 Jun 2003 12:58:02 +0000 (12:58 +0000)]
Send the close request to the SMB server in smbfs_inactive(), instead of
smbfs_close(). This fixes paging to and from mmap()'d regions of smbfs
files after the descriptor has been closed, and makes thttpd, GNU ld,
and perhaps more things work that depend on being able to do this.