Age | Commit message (Collapse) | Author |
|
|
|
|
|
vfs_syncwait(); from art@
|
|
adapated from FreeBSD. Also change O_FSYNC to the more standard O_SYNC
and document it. open(2) needs some real examples for proper usage,
to come later.
|
|
variable which is used by a macro when VM is used instead of UVM. very
cute, Art -- 10 points for artistic expression.
|
|
in a correct way. Use it in all places where the vnode was changed.
(most of the earlier code was incorrect and had races).
|
|
|
|
|
|
|
|
Let ktrwrite return an error if the write failed so that we won't loop in
genio writing to a full disk (or whatever other error happened).
|
|
|
|
flags (much nicer for future smp work).
Add two generic functions yield() and preempt(). Use preepmt() in uio when
we are told to yield.
Based on my idea, code written by Jason Thorpe from NetBSD.
|
|
the stack.
|
|
and out.
Make pread/pwrite in netbsd & linux thread safe - which is the whole point
anyway.
|
|
to avoid allocating a huge buffer which could lead to kmem starvation.
|
|
|
|
|
|
the disk structure.
The locking was mostly used in disk device drivers to prevent multiple
disklabel operations from going on simultaneously against the device.
Added disk_construct(), a constructor for the disk structure, that
initializes the lock structure in disk. It is called by default in
disk_attach() if it hasn't been called yet.
Added disk_lock and disk_unlock
|
|
Added ref counting to devices: device_ref, device_unref and a new method
for devices : ca_zeroref, called when the ref count hits zero.
Note that ca_zeroref may be called from interrupt context.
|
|
machines, this code needs the new PCIBIOS* options enabled in the kernel config
file to work, but your mileage may vary. Included is a working 3c575 driver for
3Com 10/100 CardBus PC Card NICs (tested only with the 'C' revision). The 3c575
is the pccard version of the PCI EtherLink XL cards, and thus the xl driver has
been split into /sys/dev/ic.
|
|
|
|
slightly different fix than in the bug report by
Rob Pickering <rob@syntonet.co.uk>
|
|
Probably something from the stone age. Kill it.
|
|
The function and the argument never change.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
makes it the callers responsibility to allocate resources for the
timeouts.
This is a KISS implementation and does _not_ solve the problems of slow
handling of a large number of pending timeouts (this will be solved in
future work) (although hardclock is now guarateed to take constant time
for handling of timeouts).
Old timeout() and untimeout() are implemented as wrappers around the new
API and kept for compatibility. They will be removed as soon as all
subsystems are converted to use the new API.
|
|
|
|
|
|
ok art@
|
|
idea is to support various cryptographic hardware accelerators (which
may be (detachable) cards, secondary/tertiary/etc processors,
software crypto, etc). Supports session migration between crypto
devices. What it doesn't (yet) support:
- multiple instances of the same algorithm used in the same session
- use of multiple crypto drivers in the same session
- asymmetric crypto
No support for a userland device yet.
IPsec code path modified to allow for asynchronous cryptography
(callbacks used in both input and output processing). Some unrelated
code simplification done in the process (especially for AH).
Development of this code kindly supported by Network Security
Technologies (NSTI). The code was writen mostly in Greece, and is
being committed from Montreal.
|
|
- Introduce a new type of map that are interrupt safe and never allow faults
in them. mb_map and kmem_map are made intrsafe.
- Add "access protection" to uvm_vslock (to be passed down to uvm_fault and
later to pmap_enter).
- madvise(2) now works.
- various cleanups.
|
|
|
|
reads at just the right time is is possible to get duplicate output but
in practice this is extremely rare. Joint effort with Theo.
|
|
giving other processes a chance to run.
A process feeding a huge buffer to {read,write}{,v} on a file that doesn't
need to wait for I/O, could have hogged a lot of cpu in the kernel, blocking
all userland activity.
Based on a similiar fix in FreeBSD.
|
|
context switch actually happens.
|
|
|
|
|
|
|
|
|
|
offset, returns a pointer to them specific mbuf and the offset inside
it that corresponds to the offset argument (so one can find where the
n'th byte is in an mbuf).
|
|
In many cases, setting db_console in /etc/rc is too late.
|
|
last cmsg_data item (see the figure on RFC2292 page 18).
|