freebsd-skq/sys
Alan Cox 136446540a When aio_read/write() is used on a raw device, physical buffers are
used for up to "vfs.aio.max_buf_aio" of the requests.  If a request
size is MAXPHYS, but the request base isn't page aligned, vmapbuf()
will map the end of the user space buffer into the start of the kva
allocated for the next physical buffer.  Don't use a physical buffer
in this case.  (This change addresses problem report 25617.)

When an aio_read/write() on a raw device has completed, timeout() is
used to schedule a signal to the process.  Thus, the reporting is
delayed up to 10 ms (assuming hz is 100).  The process might have
terminated in the meantime, causing a trap 12 when attempting to
deliver the signal.  Thus, the timeout must be cancelled when removing
the job.

aio jobs in state JOBST_JOBQGLOBAL should be removed from the
kaio_jobqueue list during process rundown.

During process rundown, some aio jobs might move from one list to a
different list that has already been "emptied", causing the rundown to
be incomplete.  Retry the rundown.

A call to BUF_KERNPROC() is needed after obtaining a physical buffer
to disassociate the lock from the running process since it can return
to userland without releasing that lock.

PR:		25617
Submitted by:	tegge
2001-03-10 22:47:57 +00:00
..
alpha Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +00:00
amd64 Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +00:00
arm/include
boot Goodbye vn, welcome md. 2001-03-07 09:42:41 +00:00
cam
coda
compat Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
compile
conf The /dev/random driver used Rijndael, not Blowfish, now. 2001-03-10 12:57:08 +00:00
contrib/dev Move configuration of work_memory to oltr_init() rather than 2001-03-08 01:38:58 +00:00
crypto Kernel crypto need binary key material, not symbolic ascii. 2001-03-10 13:02:58 +00:00
ddb
dev Very large makeover of the /dev/random driver. 2001-03-10 12:51:55 +00:00
fs Slightly reorganize allocation of new vnode. Use bit NVOLUME to detected 2001-03-10 05:39:03 +00:00
geom
gnu Fixes to track snapshot copy-on-write checking in the specinfo 2001-03-07 07:09:55 +00:00
i4b
i386 Make md(4) and mdconfig(8) take over the role of vn(4) and vnconfig(8) 2001-03-09 20:09:28 +00:00
ia64 Allow the config file to specify a root filesystem filename. 2001-03-09 13:45:31 +00:00
isa Add GVC1601 - Rockwell V.34 Plug & Play Modem 2001-03-07 14:27:56 +00:00
isofs/cd9660 Reviewed by: jlemon 2001-03-01 21:00:17 +00:00
kern When aio_read/write() is used on a raw device, physical buffers are 2001-03-10 22:47:57 +00:00
libkern
miscfs Fixes to track snapshot copy-on-write checking in the specinfo 2001-03-07 07:09:55 +00:00
modules The /dev/random driver used Rijndael, not Blowfish, now. 2001-03-10 12:57:08 +00:00
msdosfs Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
net
netatalk
netatm
netgraph netgraph.h: 2001-03-10 16:31:00 +00:00
netinet Make it possible to use IP_TTL and IP_TOS setsockopt(2) options 2001-03-09 12:22:51 +00:00
netinet6
netipx
netkey
netnatm
netncp Major update of NCP requester: 2001-03-10 05:24:45 +00:00
netns
nfs Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
nfsclient Grab the process lock while calling psignal and before calling psignal. 2001-03-07 03:37:06 +00:00
nfsserver
ntfs Reviewed by: jlemon 2001-03-01 21:00:17 +00:00
nwfs Slightly reorganize allocation of new vnode. Use bit NVOLUME to detected 2001-03-10 05:39:03 +00:00
pc98 Replaced p (undeclared) with curproc (after i386/isa/npx.c). 2001-03-08 14:25:51 +00:00
pccard
pci Remember to actually program the MAC address into the unicast filter 2001-03-07 18:52:22 +00:00
posix4
powerpc Fix mtx_legal2block. The only time that it is bad to block on a mutex is 2001-03-09 07:24:17 +00:00
rpc
svr4
sys When aio_read/write() is used on a raw device, physical buffers are 2001-03-10 22:47:57 +00:00
tools
ufs Fixes to track snapshot copy-on-write checking in the specinfo 2001-03-07 07:09:55 +00:00
vm When creating a shadow vm_object in vmspace_fork(), only one 2001-03-09 18:25:54 +00:00
Makefile