peter [Tue, 29 Jun 2004 15:57:05 +0000 (15:57 +0000)]
Reduce the size of pv entries by 15%. This saves 1MB of KVA for mapping
pv entries per 1GB of user virtual memory. (eg: if we had 1GB file was
mmaped into 30 processes, that would theoretically reduce the KVA demand by
30MB for pv entries. In reality though, we limit pv entries so we don't
have that many at once.)
We used to store the vm_page_t for the page table page. But we recently
had the pa of the ptp, or can calculate it fairly quickly. If we wanted
to avoid the shift/mask operation in pmap_pde(), we could recover the
pa but that means we have to store it for a while.
jhb [Tue, 29 Jun 2004 03:48:49 +0000 (03:48 +0000)]
Oops, this didn't make it into my submit before I committed: Defer
creation of the sysctl tree for the turnstile profiling stats until a
SI_SUB_LOCK sysinit. Doing it in init_turnstiles() is too early as it is
called before mi_startup().
jhb [Tue, 29 Jun 2004 02:30:12 +0000 (02:30 +0000)]
Add two new kernel options to allow rudimentary profiling of the internal
hash tables used in the sleep queue and turnstile code. Each option adds
a sysctl tree under debug containing the maximum depth of any bucket in
the hash table as well as a separate node for each bucket (or chain)
containing the current depth and maximum depth for that bucket.
tegge [Mon, 28 Jun 2004 20:26:35 +0000 (20:26 +0000)]
Initialize result->backing_object_offset before linking result onto the list of
vm objects shadowing source in vm_object_shadow(). This closes a race where
vm_object_collapse() could be called with a partially uninitialized object
argument causing symptoms that looked like hardware problems, e.g. signal 6,
10, 11 or a /bin/sh busy-waiting for a nonexistant child process.
jhb [Mon, 28 Jun 2004 16:28:23 +0000 (16:28 +0000)]
- Execute all of the tasks on the taskqueue during taskqueue_free() after
the queue has been removed from the global taskqueue_queues list. This
removes the need for the draining queue hack.
- Allow taskqueue_run() to be called with the taskqueue mutex held. It
can still be called without the lock for API compatiblity. In that case
it will acquire the lock internally.
- Don't lock the individual queue mutex in taskqueue_find() until after the
strcmp as the global queues mutex is sufficient for the strcmp.
- Simplify taskqueue_thread_loop() now that it can hold the lock across
taskqueue_run().
jhb [Mon, 28 Jun 2004 16:21:51 +0000 (16:21 +0000)]
Adjust the priorities of software interrupts. Bump SWI_CLOCK up to 5
and bump all of the taskqueue swi's to 6. This gives callouts higher
priority than taskqueue tasks and gives all taskqueue tasks the same
priority.
jhb [Mon, 28 Jun 2004 16:19:50 +0000 (16:19 +0000)]
Adjust the priority of the idle threads to be the lowest possible
priority. This is just a comestic nit as the idle thread priorities aren't
used by the schedulers.
jhb [Mon, 28 Jun 2004 16:17:11 +0000 (16:17 +0000)]
- Shorten the names for the TTY related swi interrupt handlers as the
'tty:' prefix is largely redundant.
- Fix the priority of the low-priority TTY SWIs that are hung off of the
softclock thread.
kientzle [Mon, 28 Jun 2004 14:12:09 +0000 (14:12 +0000)]
Some implicit dirs were not having the umask correctly
applied to their permissions. Just calculate the
default dir mode once and use it consistently, rather than
trying to remember to calculate it everywhere it's needed.
scottl [Mon, 28 Jun 2004 03:49:13 +0000 (03:49 +0000)]
Switch sparc64 busdma to use a dynamically allocated segment list rather
than a a stack-limited list. This removes the artifical limit on s/g list
size.
cvs: ----------------------------------------------------------------------
imp [Mon, 28 Jun 2004 03:40:23 +0000 (03:40 +0000)]
Turns out that jhb didn't really like this. And nate pointed out that
it wasn't a good idea to have the test for NULL on only a limited
subset. Go back because I'm not sure adding NULL to all the others is
a good idea.
imp [Mon, 28 Jun 2004 02:38:20 +0000 (02:38 +0000)]
Use APM_UNKNOWN instead of 0xff. Use ~0U instead 0 for the number of
batteries. This should be -1 to match other code, but since the api
is unsigned ~0U is the same thing.
emax [Mon, 28 Jun 2004 00:58:53 +0000 (00:58 +0000)]
Fix cut-n-paste bugs in hccontrol(8). Its very strange that no one noticed
them earlier. Thanks to Mike Crosland (mcrosland at xs4all.nl) for pointing
them out.
kientzle [Sun, 27 Jun 2004 23:29:44 +0000 (23:29 +0000)]
Update -p:
* Don't change the umask; the library now ignores the umask if
you set EXTRACT_PERM
* Set the EXTRACT_ACL and EXTRACT_FFLAGS bits (used to be
controlled by EXTRACT_PERM).
kientzle [Sun, 27 Jun 2004 23:27:28 +0000 (23:27 +0000)]
More cleanup work on permissions restore:
* Rename some variables/functions/etc to try to make things clearer.
* Add separate flags to control fflag/acl restore
* Collect metadata restore into a single function for clarity
* Propagate errors in metadata restore back out to the client
* Fix some places where errors were being returned when they
shouldn't and vice-versa
* Modes are now always restored; ARCHIVE_EXTRACT_PERM just controls
whether or not umask is obeyed.
* Restore suid/sgid bits only if user/group matches archive
* Cache the last stat results to try to reduce the number of stat calls
kientzle [Sun, 27 Jun 2004 23:16:42 +0000 (23:16 +0000)]
Add two new convenience functions to query the uid/gid from an
archive_entry.
Update the Makefile MLINKS and manpage to bring it up-to-date with
the current status of archive_entry. At least the manpage actually
lists all of the functions now, even if it doesn't really yet explain
them all.
gad [Sun, 27 Jun 2004 22:56:58 +0000 (22:56 +0000)]
Improve checking for `ps -t <dev>', and give better error messages when
an invalid <dev> is specified. Aside: It turns out that the S_ISCHR()
check is true for almost every device that we have (not just tty's).
imp [Sun, 27 Jun 2004 20:16:56 +0000 (20:16 +0000)]
Only build miidevs.h when we have mii in the kernel
Only build pccarddevs.h when we have pccard in the kernel
Only build usbdevs.h when we have usb in the kernel
kientzle [Sun, 27 Jun 2004 18:38:13 +0000 (18:38 +0000)]
Clean up some consistent confusion between "dev" and "rdev."
Mostly, these were being used correctly even though a lot of
variables and function names were mis-named.
In the process, I found and fixed a couple of latent bugs and
added a guard against adding an archive to itself.
alex [Sun, 27 Jun 2004 17:27:04 +0000 (17:27 +0000)]
- Fix style bug in Dell Bluetooth adapter (don't repeat Vendor in
device listing).
- Add generic "Port Replicator" entry for the USB Hubs used in
Dell port replicators.
tjr [Sun, 27 Jun 2004 16:55:25 +0000 (16:55 +0000)]
Correct the description of the -f option: input and output fields are
separated by the field delimiter character, which is not necessarily
the tab character.
kientzle [Sun, 27 Jun 2004 16:44:51 +0000 (16:44 +0000)]
More tweaks to implicit directory creation. Even such abominations as
a/././b/../b/../c/./../d/e/f now work correctly. And yes, a/b and a/c
both get created in this example; if you want, you can create an
entire dir heirarchy from a tar archive with only one entry.
More tweaks to umask support: umasks are now obeyed for all objects,
not just directories; the umask used is now the one in effect at the
corresponding call to archive_read_extract(), so clients that want to
tinker with umask during extract should get the expected behavior.
tjr [Sun, 27 Jun 2004 15:27:15 +0000 (15:27 +0000)]
Update a comment that compared the parser with an obsolete draft of
IEEE Std 1003.2-1992. Most of the "extensions" here were actually
required by the final version of the standard.
imp [Sun, 27 Jun 2004 13:25:28 +0000 (13:25 +0000)]
MFp4:
Add Intel Pro100Lan56 card.
Also integrate changes from Carlos Velasco. Only attch if we're a
network device (to filter out the serial devices). Also, increment
vpmatch if we match to conform to the pccard match function api.
imp [Sun, 27 Jun 2004 13:10:20 +0000 (13:10 +0000)]
MFp4:
Use bus space rather than direct inb/outb. Minor style changes while
I'm here. Extremely preliminary support for siliconix ethernet cards
(but more work is required).
imp [Sun, 27 Jun 2004 13:07:02 +0000 (13:07 +0000)]
MFp4:
The hack for setting the bus has been moved down into the cbb driver.
I've been running without this hack in my tree for so long I had
forgotten that I'd removed it :-). Please let me know if this causes
difficulty for your laptop.
imp [Sun, 27 Jun 2004 13:04:19 +0000 (13:04 +0000)]
MFp4: Set the bus handle to the bus handle of the resource, not the
starting value. This is more pedantically correct (since the handle
isn't always identical to the start of the resource) and also doesn't
access the innards of struct resource direct (which I forbid in my
tree). We need to do this for all resource types, not just ioport.
pjd [Sun, 27 Jun 2004 12:56:11 +0000 (12:56 +0000)]
Introduce a hack that will make geom_gate to work with read-only mounts.
Now, when trying to mount file system in read-only mode it tries to
opened a device for writting to be able to update to read-write mode
latter. Ehh.
schweikh [Sun, 27 Jun 2004 10:58:37 +0000 (10:58 +0000)]
Fix problems with non-8 space tabs. New options for function
declarations with the opening brace on the same line as the declaration
of arguments all spaces and no tabs (a feature which exists in GNU's
indent). Man page update to follow RSN.
PR: bin/67983
Submitted by: Chip Norkus <wd@teleri.net>
Style guidance and bug for bug compatibility by: bde
MFC after: 2 weeks
pjd [Sun, 27 Jun 2004 10:10:16 +0000 (10:10 +0000)]
Prepare jail(8) utility for new functionality which will limit
seeing status of mounted file system for jailed processes.
Pass full path of jail's root directory to the kernel. mount(8) utility is
doing the same thing already.
mtm [Sun, 27 Jun 2004 09:53:06 +0000 (09:53 +0000)]
In the case that the global thread list is being re-initialized after
a fork, make sure that the current thread isn't detached and freed. As
a consequence the thread should be inserted into the head of the
active list only once (in the beginning).
pjd [Sun, 27 Jun 2004 09:03:22 +0000 (09:03 +0000)]
Add two missing includes and remove two uneeded.
This is quite serious fix, because even with MAC framework compiled in,
MAC entry points in those two files were simply ignored.
kientzle [Sun, 27 Jun 2004 06:29:03 +0000 (06:29 +0000)]
Augment the -T handling:
* Add --null option (sort #defines here)
* Add process_lines function to util.c that reads newline-terminated
or null-terminated lines (with self-sizing buffers, etc) and iteratively
invokes a provided function. Use this to dramatically simplify:
-T handling for -c, --exclude-from-file, and --include-from-file.
* Add -T handling to -x (via include_from_file)
Hopefully, this will fix the openoffice port and a couple of
others that rely on -T and --null.
kientzle [Sun, 27 Jun 2004 05:59:15 +0000 (05:59 +0000)]
* The mode for implicitly-created dirs is now 0777 modified by the
umask in effect when the archive is closed
* Correct a typo that broke implicit dir creation for non-directories.
Thanks to: Garret A Wollman for pointing out my umask oversight