History log of /src/sys/kern/kern_physio.c |
Revision | | Date | Author | Comments |
1.102 |
| 10-Jul-2022 |
riastradh | physio(9): Avoid left shift of negative in alignment check.
Reported-by: syzbot+426b1db52f91ad2b994f@syzkaller.appspotmail.com https://syzkaller.appspot.com/bug?id=f2456661792789db6d1c20e9d7e48db5c151d56d
|
1.101 |
| 30-Jun-2022 |
riastradh | physio(9): Include error in KASSERTMSG.
May help to track down: https://syzkaller.appspot.com/bug?id=d57553ea3fc65cb7f11df947154795451b0dd3a8
|
1.100 |
| 13-Mar-2022 |
riastradh | kern: Use harmless, not harmful, integer truncation in physio.
Reported-by: syzbot+13abd9bc700f7ceac337@syzkaller.appspotmail.com
|
1.99 |
| 16-Sep-2021 |
andvar | fix typos in word "successful".
|
1.98 |
| 14-Mar-2020 |
ad | OR into bp->b_cflags; don't overwrite.
|
1.97 |
| 08-Dec-2019 |
ad | Revert previous. No performance gain worth the potential headaches with buffers in these contexts.
|
1.96 |
| 08-Dec-2019 |
ad | Avoid thundering herd: cv_broadcast(&bp->b_busy) -> cv_signal(&bp->b_busy)
|
1.95 |
| 04-Apr-2019 |
mlelstv | Don't validate buffer size for tape I/O, this is already done by the tape driver. Using MAXBSIZE as limit was also wrong on sun2 where MAXBSIZE < MAXPHYS.
|
1.94 |
| 26-Mar-2019 |
mlelstv | physio can issue multiple concurrent I/O requests for scatter/gather and split requests, concurrent requests are limited to use multiple-of-DEV_BSIZE offsets.
Restrict this to D_DISK devices.
For other devices fix uio accounting to allow arbitrary offsets again.
|
1.93 |
| 21-Apr-2015 |
pooka | branches: 1.93.18; Don't check if constant-sized KM_SLEEP allocations succeeded.
|
1.92 |
| 10-Feb-2011 |
pooka | branches: 1.92.14; 1.92.32; Make vmapbuf() return success/error and make physio deal with a failure.
|
1.91 |
| 26-May-2009 |
hannken | branches: 1.91.4; 1.91.6; 1.91.8; PR kern/39536: bufq related problem when writing DVDR and DVDRWs.
Remove a race where physio_done() may use memory already freed.
Observed by Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>.
|
1.90 |
| 18-May-2009 |
ad | - Remove unneded uvm_lwp_hold(), uvm_lwp_rele(). - Make physio_concurrency tuneable via crash(8). - Update comments.
|
1.89 |
| 09-Nov-2008 |
bouyer | branches: 1.89.4; Assert that bp->b_error == 0 if all data have been transfered in physio_biodone(). We have more chance to have the fauly code in the stack trace when doing the check here than in physio_done().
|
1.88 |
| 24-Sep-2008 |
hannken | branches: 1.88.2; 1.88.4; 1.88.6; Resolve a race when physio_done signals completion before it tries to free a buffer. This will fail if the buffer owner has a chance to modify the BC_DONTFREE flag before putphysbuf() examines it.
Fix by removing get/putphysbuf() and BC_DONTFREE. Physio_done() now has an explicit test for a buffer coming from the call of physio().
Observed by Lars Nordlund when writing a DVD with growisofs, see PR kern/39536.
Reviewed by: Jason Thorpe <thorpej@netbsd.org>
|
1.87 |
| 15-Feb-2008 |
ad | branches: 1.87.6; 1.87.10; 1.87.12; 1.87.16; Give bbusy() an interlock argument. If the we need to wait for the buffer, the interlock is dropped and reacquired when awoken. This allows for busying buffers attached to a list that is not locked by bufcache_lock.
|
1.86 |
| 02-Jan-2008 |
ad | Merge vmlocking2 to head.
|
1.85 |
| 06-Nov-2007 |
ad | branches: 1.85.2; 1.85.6; Merge scheduler changes from the vmlocking branch. All discussed on tech-kern:
- Invert priority space so that zero is the lowest priority. Rearrange number and type of priority levels into bands. Add new bands like 'kernel real time'. - Ignore the priority level passed to tsleep. Compute priority for sleep dynamically. - For SCHED_4BSD, make priority adjustment per-LWP, not per-process.
|
1.84 |
| 18-Sep-2007 |
hannken | branches: 1.84.4; 1.84.6; Stop abusing a `struct buf' for state information. Use new `struct physio_stat' and use kmutex and kcondvar here. Fix an error introduced with B_ERROR removal where reading at EOM returned EIO.
Approved by: Andrew Doran <ad@netbsd.org>
|
1.83 |
| 29-Jul-2007 |
ad | branches: 1.83.4; 1.83.6; 1.83.8; It's not a good idea for device drivers to modify b_flags, as they don't need to understand the locking around that field. Instead of setting B_ERROR, set b_error instead. b_error is 'owned' by whoever completes the I/O request.
|
1.82 |
| 12-Jul-2007 |
rmind | branches: 1.82.2; Implementation of per-CPU work-queues support for workqueue(9) interface. WQ_PERCPU flag for workqueue and additional argument for workqueue_enqueue() to assign a CPU might be used. Notes: - For now, the list is used for workqueue_queue, which is non-optimal, and will be changed with array, where index would be CPU ID. - The data structures should be changed to be cache-friendly.
Reviewed by: <yamt>, <tech-kern>
|
1.81 |
| 09-Jul-2007 |
ad | Merge some of the less invasive changes from the vmlocking branch:
- kthread, callout, devsw API changes - select()/poll() improvements - miscellaneous MT safety improvements
|
1.80 |
| 04-Mar-2007 |
christos | branches: 1.80.2; 1.80.4; Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
|
1.79 |
| 22-Feb-2007 |
thorpej | TRUE -> true, FALSE -> false
|
1.78 |
| 21-Feb-2007 |
thorpej | Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
1.77 |
| 21-Dec-2006 |
yamt | branches: 1.77.2; merge yamt-splraiseipl branch.
- finish implementing splraiseipl (and makeiplcookie). http://mail-index.NetBSD.org/tech-kern/2006/07/01/0000.html - complete workqueue(9) and fix its ipl problem, which is reported to cause audio skipping. - fix netbt (at least compilation problems) for some ports. - fix PR/33218.
|
1.76 |
| 01-Nov-2006 |
yamt | remove some __unused from function parameters.
|
1.75 |
| 12-Oct-2006 |
christos | - sprinkle __unused on function decls. - fix a couple of unused bugs - no more -Wno-unused for i386
|
1.74 |
| 05-Oct-2006 |
chs | add support for O_DIRECT (I/O directly to application memory, bypassing any kernel caching for file data).
|
1.73 |
| 18-Apr-2006 |
yamt | branches: 1.73.8; 1.73.10; from Christian Ehrhardt: * physio: The first call to ltsleep should apparently use o &obp->b_interlock instead of bp->b_interlock (bp is probably NULL here).
|
1.72 |
| 16-Jan-2006 |
yamt | branches: 1.72.2; 1.72.4; 1.72.6; 1.72.8; 1.72.10; - tweak RUN_ONCE api to allow init_func returns an error. - physio: handle failure of workqueue_create.
|
1.71 |
| 04-Jan-2006 |
yamt | - add simple functions to allocate/free a buffer for i/o. - make bufpool static.
|
1.70 |
| 17-Dec-2005 |
yamt | branches: 1.70.2; fix spurious EINVAL at end of partition.
- rather than special-caseing EINVAL, simply pick an error at the lowest offset. - correct uio_resid. - add some debug code.
|
1.69 |
| 14-Dec-2005 |
yamt | simplify rev.1.68 and fix EINVAL problem. add a comment. PR/32224.
|
1.68 |
| 13-Dec-2005 |
yamt | physio: deal with unaligned buffers/small maxphys/overlapped buffers. fix PR/32224 from Matthias Scheler. (uvm_vslock needs to be redesigned for threaded applications. but it's a different problem.)
|
1.67 |
| 04-Dec-2005 |
yamt | physio_done: - report a correct error. - remove a no-op goto.
|
1.66 |
| 04-Nov-2005 |
yamt | physio: - update uio_resid properly. - don't miss i/o errors near the end of partition.
|
1.65 |
| 31-Oct-2005 |
yamt | fix ioctl problems after the recent physio changes in some drivers including wd and scsi.
- physio: if a caller provided a buf, stick to use it because some drivers use it as an identifier. - sprinkle simple_locks. - scsistrategy: rather than issueing an async request and waiting for its completion, simply issue a sync request. the way to wait for the completion had an assumption that B_CALL is never used. it isn't the case after the recent physio() changes.
pointed/analyzed/tested by Martin Husemann.
|
1.64 |
| 30-Oct-2005 |
yamt | physio: comment out IPL_BIO because it's not available for some ports. (it isn't used in the current implementation anyway.)
|
1.63 |
| 29-Oct-2005 |
yamt | fix compilation problem in the previous when !defined(DIAGNOSTIC). pointed by xtraeme@.
|
1.62 |
| 29-Oct-2005 |
yamt | physio: make requests with large buffers faster, by queueing more i/o simultaneously.
|
1.61 |
| 23-Jun-2005 |
thorpej | branches: 1.61.2; 1.61.4; Use ANSI function decls. Apply some static.
|
1.60 |
| 23-Mar-2004 |
junyoung | - Nuke __P(). - Drop trailing spaces.
|
1.59 |
| 17-Feb-2004 |
simonb | Don't shadow a function name with a parameter.
|
1.58 |
| 10-Jan-2004 |
yamt | store a i/o priority hint in struct buf for buffer queue discipline.
|
1.57 |
| 07-Aug-2003 |
agc | Move UCB-licensed code from 4-clause to 3-clause licence.
Patches provided by Joel Baker in PR 22364, verified by myself.
|
1.56 |
| 25-Feb-2003 |
thorpej | branches: 1.56.2; Add a new BUF_INIT() macro which initializes b_dep and b_interlock, and use it. This fixes a few places where either b_dep or b_interlock were not properly initialized.
|
1.55 |
| 05-Feb-2003 |
pk | Make the buffer cache code MP-safe.
|
1.54 |
| 18-Jan-2003 |
thorpej | Merge the nathanw_sa branch.
|
1.53 |
| 30-Aug-2002 |
hannken | Remove the old device buffer queue interface.
Approved by: Jason R. Thorpe <thorpej@wasabisystems.com>
|
1.52 |
| 14-Feb-2002 |
chs | branches: 1.52.8; allow writing to write-only mappings. fixes PR 3493.
|
1.51 |
| 12-Nov-2001 |
lukem | add RCSIDs
|
1.50 |
| 15-Sep-2001 |
chs | branches: 1.50.2; a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places.
The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
|
1.49 |
| 24-Jul-2001 |
wiz | branches: 1.49.2; s/necesary/necessary/
|
1.48 |
| 08-Jul-2001 |
wiz | branches: 1.48.2; Correct various misspellings of 'transfer' and inflected forms.
|
1.47 |
| 15-Mar-2001 |
chs | eliminate the KERN_* error codes in favor of the traditional E* codes. the mapping is:
KERN_SUCCESS 0 KERN_INVALID_ADDRESS EFAULT KERN_PROTECTION_FAILURE EACCES KERN_NO_SPACE ENOMEM KERN_INVALID_ARGUMENT EINVAL KERN_FAILURE various, mostly turn into KASSERTs KERN_RESOURCE_SHORTAGE ENOMEM KERN_NOT_RECEIVER <unused> KERN_NO_ACCESS <unused> KERN_PAGES_LOCKED <unused>
|
1.46 |
| 08-Dec-2000 |
augustss | branches: 1.46.2; Use correct type for todo variable. Use more explicit panics messages.
|
1.45 |
| 27-Nov-2000 |
chs | Initial integration of the Unified Buffer Cache project.
|
1.44 |
| 29-Sep-2000 |
ad | (*minphys)() musn't return zero.
|
1.43 |
| 27-Jun-2000 |
mrg | remove include of <vm/vm.h>
|
1.42 |
| 08-May-2000 |
thorpej | __predict_false() uvm_useracc() failure.
|
1.41 |
| 29-Mar-2000 |
simonb | Don't need to include <sys/conf.h> here.
|
1.40 |
| 14-Feb-2000 |
thorpej | One small piece from UBC: create a pool for I/O buffers. One small piece not from UBC: make physio use it instead of its own home-grown thing.
|
1.39 |
| 21-Jan-2000 |
thorpej | Preserve B_ORDERED.
|
1.38 |
| 15-Nov-1999 |
fvdl | Add Kirk McKusick's soft updates code to the trunk. Not enabled by default, as the copyright on the main file (ffs_softdep.c) is such that is has been put into gnusrc. options SOFTDEP will pull this in. This code also contains the trickle syncer.
Bump version number to 1.4O
|
1.37 |
| 17-Jun-1999 |
thorpej | branches: 1.37.2; 1.37.4; 1.37.8; Make uvm_vslock() return the error code from uvm_fault_wire(). All places which use uvm_vslock() should now test the return value. If it's not KERN_SUCCESS, wiring the pages failed, so the operation which is using uvm_vslock() should error out.
XXX We currently just EFAULT a failed uvm_vslock(). We may want to do more about translating error codes in the future.
|
1.36 |
| 26-May-1999 |
thorpej | Pass the appropriate access_type to uvm_vslock() for the given physio operation: B_READ == VM_PROT_READ|VM_PROT_WRITE, B_WRITE == VM_PROT_READ.
|
1.35 |
| 24-Mar-1999 |
mrg | branches: 1.35.4; completely remove Mach VM support. all that is left is the all the header files as UVM still uses (most of) these.
|
1.34 |
| 10-Feb-1999 |
kleink | Use of casts as lvalues is a GNU C extension; rearrange slightly.
|
1.33 |
| 04-Aug-1998 |
perry | Abolition of bcopy, ovbcopy, bcmp, and bzero, phase one. bcopy(x, y, z) -> memcpy(y, x, z) ovbcopy(x, y, z) -> memmove(y, x, z) bcmp(x, y, z) -> memcmp(x, y, z) bzero(x, y) -> memset(x, 0, y)
|
1.32 |
| 08-May-1998 |
kleink | Fix some arithmetics lossage on typeless pointers.
|
1.31 |
| 30-Apr-1998 |
thorpej | Pass vslock() and vsunlock() a proc *, rather than implicitly operating on curproc.
|
1.30 |
| 10-Feb-1998 |
mrg | - add defopt's for UVM, UVMHIST and PMAP_NEW. - remove unnecessary UVMHIST_DECL's.
|
1.29 |
| 05-Feb-1998 |
mrg | initial import of the new virtual memory system, UVM, into -current.
UVM was written by chuck cranor <chuck@maria.wustl.edu>, with some minor portions derived from the old Mach code. i provided some help getting swap and paging working, and other bug fixes/ideas. chuck silvers <chuq@chuq.com> also provided some other fixes.
this is the rest of the MI portion changes.
this will be KNF'd shortly. :-)
|
1.28 |
| 19-May-1997 |
pk | Use PHOLD() and PRELE(), rather than manipulating p_holdcnt directly.
|
1.27 |
| 13-Jun-1996 |
pk | Check user access rights only if `uio_segflg' says it's a user space buffer.
|
1.26 |
| 04-Feb-1996 |
christos | branches: 1.26.4; First pass at prototyping
|
1.25 |
| 10-Oct-1995 |
mycroft | Check for todo<0, done<0, and done>todo.
|
1.24 |
| 12-Aug-1995 |
mycroft | minphys() functions really should return void.
|
1.23 |
| 27-Jul-1995 |
mycroft | After an I/O operation completes, immediately set B_BUSY again. Also, lower spl sooner, and remove an unneeded splbio()/splx() pair.
|
1.22 |
| 24-Jul-1995 |
cgd | prototype strategy and minphys, use & check minphys return value
|
1.21 |
| 04-Jul-1995 |
mycroft | Make each disk and tape driver define its own read and write functions. Deprecate rawread() and rawwrite() completely. Remove d_strategy from cdevsw to force the abstraction barrier.
|
1.20 |
| 29-Jun-1994 |
cgd | New RCS ID's, take two. they're more aesthecially pleasant, and use 'NetBSD'
|
1.19 |
| 28-Jun-1994 |
mycroft | Eliminate use of b_bufsize, and instead pass an extra arg to v(un)mapbuf(), to be consistent with vs)un)lock().
|
1.18 |
| 26-Jun-1994 |
mycroft | Set b_bufsize after the minphys routine is called.
|
1.17 |
| 16-Jun-1994 |
mycroft | Set b_bufsize, for use by v{,un}mapbuf().
|
1.16 |
| 15-Jun-1994 |
mycroft | Turn P_NOSWAP and P_PHYSIO into a hold count, as suggested by a comment.
|
1.15 |
| 20-May-1994 |
cgd | update with merged versions
|
1.14 |
| 20-May-1994 |
cgd | 4.4-Lite versions
|
1.13 |
| 04-May-1994 |
mycroft | HPUXCOMPAT -> COMPAT_HPUX
|
1.12 |
| 21-Apr-1994 |
cgd | Convert mount, vnode, and buf structs to use <sys/queue.h>. Also, some knf and structure frobbing to do along with it.
|
1.11 |
| 27-Jan-1994 |
cgd | kill hack for vfs_bio jolitz-ish hack
|
1.10 |
| 18-Dec-1993 |
mycroft | Canonicalize all #includes.
|
1.9 |
| 16-Dec-1993 |
pk | Use proc pointer passed in uio rather then curproc for credentials (should perhaps be done for b_proc also).
|
1.8 |
| 07-Dec-1993 |
pk | Properly initialize the credentials fields in the buffer used in physio(). Actually use the credentials of `curproc' when doing IO (among other things, this allows us to read /dev/drum when swapping on an NFS mounted file).
|
1.7 |
| 12-Nov-1993 |
cgd | new specfs.h and fifo.h locations
|
1.6 |
| 08-Jul-1993 |
cgd | branches: 1.6.4; if mincnt returns 0 (i.e. off end of disk, or something), punt.
|
1.5 |
| 08-Jul-1993 |
cgd | mark the buffer busy immediately when we acquire it, also, sleep at a slightly higher priority (so says mw...)
|
1.4 |
| 27-Jun-1993 |
andrew | ANSIfications - removed all implicit function return types and argument definitions. Ensured that all files include "systm.h" to gain access to general prototypes. Casts where necessary.
|
1.3 |
| 24-Jun-1993 |
mycroft | Fix uninitialized variable.
|
1.2 |
| 22-Jun-1993 |
cgd | special case raw disk handling return values
|
1.1 |
| 16-Jun-1993 |
cgd | branches: 1.1.1; use/add new physio...
|
1.1.1.1 |
| 01-Mar-1998 |
fvdl | Import 4.4BSD-Lite for reference
|
1.6.4.2 |
| 12-Nov-1993 |
cgd | new specfs.h and fifo.h locations, and include file syntax updates
|
1.6.4.1 |
| 24-Sep-1993 |
mycroft | Make all files using spl*() #include cpu.h. Changes from trunk. init_main.c: New method of pseudo-device of initialization. kern_clock.c: hardclock() and softclock() now take a pointer to a clockframe. softclock() only does callouts. kern_synch.c: Remove spurious declaration of endtsleep(). Adjust uses of averunnable for new struct loadav. subr_prf.c: Allow printf() formats in panic(). tty.c: averunnable changes. vfs_subr.c: va_size and va_bytes are now quads.
|
1.26.4.1 |
| 11-Dec-1996 |
mycroft | From trunk: Check access rights iff UIO_USERSPACE.
|
1.35.4.1 |
| 21-Jun-1999 |
thorpej | Sync w/ -current.
|
1.37.8.2 |
| 27-Dec-1999 |
wrstuden | Pull up to last week's -current.
|
1.37.8.1 |
| 21-Dec-1999 |
wrstuden | Initial commit of recent changes to make DEV_BSIZE go away.
Runs on i386, needs work on other arch's. Main kernel routines should be fine, but a number of the stand programs need help.
cd, fd, ccd, wd, and sd have been updated. sd has been tested with non-512 byte block devices. vnd, raidframe, and lfs need work.
Non 2**n block support is automatic for LKM's and conditional for kernels on "options NON_PO2_BLOCKS".
|
1.37.4.1 |
| 19-Oct-1999 |
fvdl | Bring in Kirk McKusick's FFS softdep code on a branch.
|
1.37.2.4 |
| 27-Mar-2001 |
bouyer | Sync with HEAD.
|
1.37.2.3 |
| 13-Dec-2000 |
bouyer | Sync with HEAD (for UBC fixes).
|
1.37.2.2 |
| 08-Dec-2000 |
bouyer | Sync with HEAD.
|
1.37.2.1 |
| 20-Nov-2000 |
bouyer | Update thorpej_scsipi to -current as of a month ago
|
1.46.2.9 |
| 17-Sep-2002 |
nathanw | Catch up to -current.
|
1.46.2.8 |
| 12-Jul-2002 |
nathanw | No longer need to pull in lwp.h; proc.h pulls it in for us.
|
1.46.2.7 |
| 24-Jun-2002 |
nathanw | Curproc->curlwp renaming.
Change uses of "curproc->l_proc" back to "curproc", which is more like the original use. Bare uses of "curproc" are now "curlwp".
"curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL) so that it is always safe to reference curproc (*de*referencing curproc is another story, but that's always been true).
|
1.46.2.6 |
| 28-Feb-2002 |
nathanw | Catch up to -current.
|
1.46.2.5 |
| 14-Nov-2001 |
nathanw | Catch up to -current.
|
1.46.2.4 |
| 21-Sep-2001 |
nathanw | Catch up to -current.
|
1.46.2.3 |
| 24-Aug-2001 |
nathanw | Catch up with -current.
|
1.46.2.2 |
| 09-Apr-2001 |
nathanw | Catch up with -current.
|
1.46.2.1 |
| 05-Mar-2001 |
nathanw | Initial commit of scheduler activations and lightweight process support.
|
1.48.2.4 |
| 06-Sep-2002 |
jdolecek | sync kqueue branch with HEAD
|
1.48.2.3 |
| 16-Mar-2002 |
jdolecek | Catch up with -current.
|
1.48.2.2 |
| 10-Jan-2002 |
thorpej | Sync kqueue branch with -current.
|
1.48.2.1 |
| 03-Aug-2001 |
lukem | update to -current
|
1.49.2.2 |
| 01-Oct-2001 |
fvdl | Catch up with -current.
|
1.49.2.1 |
| 07-Sep-2001 |
thorpej | Commit my "devvp" changes to the thorpej-devvp branch. This replaces the use of dev_t in most places with a struct vnode *.
This will form the basic infrastructure for real cloning device support (besides being architecurally cleaner -- it'll be good to get away from using numbers to represent objects).
|
1.50.2.1 |
| 12-Nov-2001 |
thorpej | Sync the thorpej-mips-cache branch with -current.
|
1.52.8.1 |
| 31-Aug-2002 |
gehenna | catch up with -current.
|
1.56.2.5 |
| 11-Dec-2005 |
christos | Sync with head.
|
1.56.2.4 |
| 10-Nov-2005 |
skrll | Sync with HEAD. Here we go again...
|
1.56.2.3 |
| 21-Sep-2004 |
skrll | Fix the sync with head I botched.
|
1.56.2.2 |
| 18-Sep-2004 |
skrll | Sync with HEAD.
|
1.56.2.1 |
| 03-Aug-2004 |
skrll | Sync with HEAD
|
1.61.4.1 |
| 02-Nov-2005 |
yamt | sync with head.
|
1.61.2.8 |
| 27-Feb-2008 |
yamt | sync with head.
|
1.61.2.7 |
| 21-Jan-2008 |
yamt | sync with head
|
1.61.2.6 |
| 15-Nov-2007 |
yamt | sync with head.
|
1.61.2.5 |
| 27-Oct-2007 |
yamt | sync with head.
|
1.61.2.4 |
| 03-Sep-2007 |
yamt | sync with head.
|
1.61.2.3 |
| 26-Feb-2007 |
yamt | sync with head.
|
1.61.2.2 |
| 30-Dec-2006 |
yamt | sync with head.
|
1.61.2.1 |
| 21-Jun-2006 |
yamt | sync with head.
|
1.70.2.2 |
| 01-Feb-2006 |
yamt | sync with head.
|
1.70.2.1 |
| 15-Jan-2006 |
yamt | sync with head.
|
1.72.10.1 |
| 24-May-2006 |
tron | Merge 2006-05-24 NetBSD-current into the "peter-altq" branch.
|
1.72.8.1 |
| 19-Apr-2006 |
elad | sync with head.
|
1.72.6.1 |
| 24-May-2006 |
yamt | sync with head.
|
1.72.4.1 |
| 22-Apr-2006 |
simonb | Sync with head.
|
1.72.2.1 |
| 09-Sep-2006 |
rpaulo | sync with head
|
1.73.10.3 |
| 10-Dec-2006 |
yamt | sync with head.
|
1.73.10.2 |
| 22-Oct-2006 |
yamt | sync with head
|
1.73.10.1 |
| 18-Sep-2006 |
yamt | don't bother to wrap splraiseipl and IPL_xxx with #if notyet.
|
1.73.8.3 |
| 12-Jan-2007 |
ad | Sync with head.
|
1.73.8.2 |
| 18-Nov-2006 |
ad | Sync with head.
|
1.73.8.1 |
| 11-Sep-2006 |
ad | Use mutexes to protect workqueues.
|
1.77.2.2 |
| 12-Mar-2007 |
rmind | Sync with HEAD.
|
1.77.2.1 |
| 27-Feb-2007 |
yamt | - sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
|
1.80.4.1 |
| 11-Jul-2007 |
mjf | Sync with head.
|
1.80.2.10 |
| 27-Oct-2007 |
yamt | fix priorities for some kernel threads. advised and ok'ed by Andrew Doran.
|
1.80.2.9 |
| 25-Oct-2007 |
ad | Fix vnd(4).
|
1.80.2.8 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.80.2.7 |
| 09-Oct-2007 |
ad | Sync with head.
|
1.80.2.6 |
| 24-Aug-2007 |
ad | Sync with buffer cache locking changes. See buf.h/vfs_bio.c for details. Some minor portions are incomplete and needs to be verified as a whole.
|
1.80.2.5 |
| 19-Aug-2007 |
ad | - Back out the biodone() changes. - Eliminate B_ERROR (from HEAD).
|
1.80.2.4 |
| 15-Jul-2007 |
ad | Sync with head.
|
1.80.2.3 |
| 23-Jun-2007 |
ad | physiod workqueue doesn't need to be at IPL_BIO.
|
1.80.2.2 |
| 05-Apr-2007 |
ad | - Make context switch counters 64-bit, and count the total number of context switches + voluntary, instead of involuntary + voluntary. - Add lwp::l_swaplock for uvm. - PHOLD/PRELE are replaced.
|
1.80.2.1 |
| 13-Mar-2007 |
ad | Pull in the initial set of changes for the vmlocking branch.
|
1.82.2.1 |
| 15-Aug-2007 |
skrll | Sync with HEAD.
|
1.83.8.2 |
| 29-Jul-2007 |
ad | It's not a good idea for device drivers to modify b_flags, as they don't need to understand the locking around that field. Instead of setting B_ERROR, set b_error instead. b_error is 'owned' by whoever completes the I/O request.
|
1.83.8.1 |
| 29-Jul-2007 |
ad | file kern_physio.c was added on branch matt-mips64 on 2007-07-29 12:15:46 +0000
|
1.83.6.3 |
| 23-Mar-2008 |
matt | sync with HEAD
|
1.83.6.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.83.6.1 |
| 06-Nov-2007 |
matt | sync with HEAD
|
1.83.4.2 |
| 06-Nov-2007 |
joerg | Sync with HEAD.
|
1.83.4.1 |
| 02-Oct-2007 |
joerg | Sync with HEAD.
|
1.84.6.2 |
| 18-Feb-2008 |
mjf | Sync with HEAD.
|
1.84.6.1 |
| 19-Nov-2007 |
mjf | Sync with HEAD.
|
1.84.4.1 |
| 13-Nov-2007 |
bouyer | Sync with HEAD
|
1.85.6.1 |
| 02-Jan-2008 |
bouyer | Sync with HEAD
|
1.85.2.1 |
| 04-Dec-2007 |
ad | Pull the vmlocking changes into a new branch.
|
1.87.16.2 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.87.16.1 |
| 19-Oct-2008 |
haad | Sync with HEAD.
|
1.87.12.1 |
| 10-Oct-2008 |
skrll | Sync with HEAD.
|
1.87.10.2 |
| 20-Jun-2009 |
yamt | sync with head
|
1.87.10.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.87.6.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.87.6.1 |
| 28-Sep-2008 |
mjf | Sync with HEAD.
|
1.88.6.1 |
| 27-May-2009 |
snj | branches: 1.88.6.1.2; Pull up following revision(s) (requested by hannken in ticket #781): sys/kern/kern_physio.c: revision 1.91 PR kern/39536: bufq related problem when writing DVDR and DVDRWs. Remove a race where physio_done() may use memory already freed. Observed by Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>.
|
1.88.6.1.2.1 |
| 21-Apr-2010 |
matt | sync to netbsd-5
|
1.88.4.1 |
| 27-May-2009 |
snj | Pull up following revision(s) (requested by hannken in ticket #781): sys/kern/kern_physio.c: revision 1.91 PR kern/39536: bufq related problem when writing DVDR and DVDRWs. Remove a race where physio_done() may use memory already freed. Observed by Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>.
|
1.88.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.89.4.1 |
| 23-Jul-2009 |
jym | Sync with HEAD.
|
1.91.8.1 |
| 17-Feb-2011 |
bouyer | Sync with HEAD
|
1.91.6.1 |
| 06-Jun-2011 |
jruoho | Sync with HEAD.
|
1.91.4.1 |
| 05-Mar-2011 |
rmind | sync with head
|
1.92.32.1 |
| 06-Jun-2015 |
skrll | Sync with HEAD
|
1.92.14.2 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.92.14.1 |
| 12-Sep-2012 |
tls | Initial snapshot of work to eliminate 64K MAXPHYS. Basically works for physio (I/O to raw devices); needs more doing to get it going with the filesystems, but it shouldn't damage data.
All work's been done on amd64 so far. Not hard to add support to other ports. If others want to pitch in, one very helpful thing would be to sort out when and how IDE disks can do 128K or larger transfers, and adjust the various PCI IDE (or at least ahcisata) drivers and wd.c accordingly -- it would make testing much easier. Another very helpful thing would be to implement a smart minphys() for RAIDframe along the lines detailed in the MAXPHYS-NOTES file.
|
1.93.18.2 |
| 08-Apr-2020 |
martin | Merge changes from current as of 20200406
|
1.93.18.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|