#
328294 |
|
23-Jan-2018 |
jhb |
MFC 325835: Use #if instead of #ifdef for __BSD_VISIBLE tests.
__BSD_VISIBLE is always defined and it's value instead needs to be tested via #if to determine if FreeBSD-specific APIs should be exposed.
PR: 196226
|
#
256281 |
|
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
251526 |
|
08-Jun-2013 |
glebius |
Add new system call - aio_mlock(). The name speaks for itself. It allows to perform the mlock(2) operation, which can consume a lot of time, under control of aio(4).
Reviewed by: kib, jilles Sponsored by: Nginx, Inc.
|
#
189822 |
|
14-Mar-2009 |
das |
Namespace: aio_waitcomplete() is a BSD extension. Also, don't pollute the namespace by including <sys/time.h>.
|
#
185874 |
|
10-Dec-2008 |
jhb |
Rather than using a char array with explicit assumptions about the layout of 'struct osigevent' in 'struct aiocb', use int and void pointer spare members that are identical to 'struct osigevent'.
MFC after: 1 month
|
#
157038 |
|
23-Mar-2006 |
davidxu |
Add aio_fsync() prototype.
|
#
151867 |
|
30-Oct-2005 |
davidxu |
Fix sigevent's POSIX incompatible problem by adding member fields sigev_notify_function and sigev_notify_attributes. AIO syscalls use sigevent, so they have to be adjusted.
Reviewed by: alc
|
#
139825 |
|
07-Jan-2005 |
imp |
/* -> /*- for license, minor formatting changes
|
#
88970 |
|
06-Jan-2002 |
alc |
o Add missing synchronization (splnet()/splx()) in aio_free_entry(). o Move the definition of struct aiocblist from sys/aio.h to kern/vfs_aio.c. o Make aio_swake_cb() static.
|
#
88752 |
|
31-Dec-2001 |
alc |
o Some style(9)-motivated changes to white space.
|
#
88633 |
|
29-Dec-2001 |
alfred |
Make AIO a loadable module.
Remove the explicit call to aio_proc_rundown() from exit1(), instead AIO will use at_exit(9).
Add functions at_exec(9), rm_at_exec(9) which function nearly the same as at_exec(9) and rm_at_exec(9), these functions are called on behalf of modules at the time of execve(2) after the image activator has run.
Use a modified version of tegge's suggestion via at_exec(9) to close an exploitable race in AIO.
Fix SYSCALL_MODULE_HELPER such that it's archetecuterally neutral, the problem was that one had to pass it a paramater indicating the number of arguments which were actually the number of "int". Fix it by using an inline version of the AS macro against the syscall arguments. (AS should be available globally but we'll get to that later.)
Add a primative system for dynamically adding kqueue ops, it's really not as sophisticated as it should be, but I'll discuss with jlemon when he's around.
|
#
83366 |
|
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
#
74089 |
|
10-Mar-2001 |
alc |
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
|
#
73557 |
|
04-Mar-2001 |
alc |
Remove another outdated comment about aio_cancel().
|
#
73438 |
|
04-Mar-2001 |
alc |
Remove an out-of-date comment: aio_cancel() has been supported since revision 1.69 of kern/vfs_aio.c.
|
#
73398 |
|
03-Mar-2001 |
alc |
Remove the field privatemodes from struct __aiocb_private and the related code from aio_read() and aio_write(). This field was intended, but never used, to allow a mythical user-level library to make an aio_read() or aio_write() behave like an ordinary read() or write(), i.e., a blocking I/O operation.
|
#
69173 |
|
25-Nov-2000 |
alc |
Undo rev 1.8: This commit actually added a second declaration of aio_error() to the same file.
|
#
66608 |
|
03-Oct-2000 |
alc |
Remove another unused field from struct __aiocb_private.
|
#
66358 |
|
25-Sep-2000 |
alc |
Remove (long) unused fields from struct __aiocb_private.
|
#
65484 |
|
05-Sep-2000 |
alc |
Make the basic AIO functions, i.e., aio_read() and aio_write(), work on the Alpha, at least, for the aio_qphysio() case. Specifically, fix an unaligned access fault.
|
#
60938 |
|
26-May-2000 |
jake |
Back out the previous change to the queue(3) interface. It was not discussed and should probably not happen.
Requested by: msmith and others
|
#
60833 |
|
23-May-2000 |
jake |
Change the way that the queue(3) structures are declared; don't assume that the type argument to *_HEAD and *_ENTRY is a struct.
Suggested by: phk Reviewed by: phk Approved by: mdodd
|
#
59528 |
|
23-Apr-2000 |
wollman |
Fix a warning with a forward struct declaration.
|
#
59288 |
|
16-Apr-2000 |
jlemon |
Introduce kqueue() and kevent(), a kernel event notification facility.
|
#
55943 |
|
14-Jan-2000 |
jasone |
Add aio_waitcomplete(). Make aio work correctly for socket descriptors. Make gratuitous style(9) fixes (me, not the submitter) to make the aio code more readable.
PR: kern/12053 Submitted by: Chris Sedore <cmsedore@maxwell.syr.edu>
|
#
55205 |
|
29-Dec-1999 |
peter |
Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL" is an application space macro and the applications are supposed to be free to use it as they please (but cannot). This is consistant with the other BSD's who made this change quite some time ago. More commits to come.
|
#
50477 |
|
27-Aug-1999 |
peter |
$Id$ -> $FreeBSD$
|
#
47914 |
|
14-Jun-1999 |
nik |
Include <sys/time.h> for correctness. BDE has a better version of this, but it's more complex, and in his words
Commit your version, since it is the only one that is clearly permitted (if not best), and I'll untangle it later.
PR: docs/11589 Reviewed by: Bruce "he kicks ass" Evans
|
#
42773 |
|
17-Jan-1999 |
dt |
Bring a bit closer to the normal form. (In particular, add __BEGIN_DECLS/__END_DECLS).
|
#
35144 |
|
12-Apr-1998 |
dyson |
Add aio_error decl.
|
#
34925 |
|
28-Mar-1998 |
dufault |
Finish _POSIX_PRIORITY_SCHEDULING. Needs P1003_1B and _KPOSIX_PRIORITY_SCHEDULING options to work. Changes:
Change all "posix4" to "p1003_1b". Misnamed files are left as "posix4" until I'm told if I can simply delete them and add new ones;
Add _POSIX_PRIORITY_SCHEDULING system calls for FreeBSD and Linux;
Add man pages for _POSIX_PRIORITY_SCHEDULING system calls;
Add options to LINT;
Minor fixes to P1003_1B code during testing.
|
#
34334 |
|
08-Mar-1998 |
dufault |
Preprocessor directives require a leading '#'
Submitted by: ccsanady@friley585.res.iastate.edu
|
#
34327 |
|
08-Mar-1998 |
dufault |
Put sigevent and AIO_LISTIO_MAX back in aio.h so that kernels can be built.
|
#
34319 |
|
08-Mar-1998 |
dufault |
Reviewed by: bde
Changes to support building with _POSIX_SOURCE set to 199309L:
1. Add sys/_posix.h to handle those preprocessor defs that POSIX says have effects when defined before including any header files;
2. Change POSIX4_VISIBLE back to _POSIX4_VISIBLE
3. Add _POSIX4_VISIBLE_HISTORICALLY for pre-existing BSD features now defined in POSIX. These show up when:
_POSIX_SOURCE and _POSIX_C_SOURCE are not set or _POSIX_C_SOURCE is set >= 199309L
and vanish when:
_POSIX_SOURCE is set or _POSIX_C_SOURCE is < 199309L.
4. Explain these in man 9 posix4;
5. Include _posix.h and conditionalize on new feature test.
|
#
31620 |
|
08-Dec-1997 |
dyson |
Correct prototypes to match POSIX. Correct return code for aio_cancel. Submitted by: Alex Nash <nash@mcs.com>
|
#
27465 |
|
17-Jul-1997 |
dyson |
Clean up some lint associated with the AIO code.
|
#
26685 |
|
16-Jun-1997 |
dyson |
Ouch!!! This should fix a serious build problem after the addition of the new preliminary AIO support. Unfortunately, I had a stray copy of aio.h that made me think that things worked.
|