aio_req(9S) Data Structures for Drivers aio_req(9S)NAME
aio_req - asynchronous I/O request structure
Solaris DDI specific (Solaris DDI)
An aio_req structure describes an asynchronous I/O request.
struct uio*aio_uio; /* uio structure describing the I/O request */
The aio_uio member is a pointer to a uio(9S) structure, describing the I/O transfer request.
SEE ALSO aread(9E), awrite(9E), aphysio(9F), uio(9S)SunOS 5.10 28 Mar 1997 aio_req(9S)
Check Out this Related Man Page
aread(9E) Driver Entry Points aread(9E)NAME
aread - asynchronous read from a device
aread(dev_t dev, struct aio_req *aio_reqp, cred_t *cred_p);
Solaris DDI specific (Solaris DDI). This entry point is optional. Drivers that do not support an aread() entry point should use nodev(9F)PARAMETERS
dev Device number.
aio_reqp Pointer to the aio_req(9S) structure that describes where the data is to be stored.
cred_p Pointer to the credential structure.
The driver's aread() routine is called to perform an asynchronous read. getminor(9F) can be used to access the minor number component of
the dev argument. aread() may use the credential structure pointed to by cred_p to check for superuser access by calling drv_priv(9F). The
aread() routine may also examine the uio(9S) structure through the aio_req structure pointer, aio_reqp. aread() must call aphysio(9F) with
the aio_req pointer and a pointer to the driver's strategy(9E) routine.
No fields of the uio(9S) structure pointed to by aio_req, other than uio_offset or uio_loffset, may be modified for non-seekable devices.
The aread() routine should return 0 for success, or the appropriate error number.
This function is called from user context only.
Example 1: The following is an example of an aread() routine:
xxaread(dev_t dev, struct aio_req *aio, cred_t *cred_p)
struct xxstate *xsp;
instance = getminor(dev);
xsp = ddi_get_soft_state(statep, instance);
/*Verify soft state structure has been allocated */
if (xsp == NULL)
return (aphysio(xxstrategy, anocancel,
dev, B_READ, xxminphys, aio));
SEE ALSO read(2), aioread(3AIO), awrite(9E), read(9E), strategy(9E), write(9E), anocancel(9F), aphysio(9F), ddi_get_soft_state(9F), drv_priv(9F),
getminor(9F), minphys(9F), nodev(9F), aio_req(9S), cb_ops(9S), uio(9S)
Writing Device Drivers
There is no way other than calling aphysio(9F) to accomplish an asynchronous read.
SunOS 5.10 28 Mar 1997 aread(9E)
I wonder if after enabling CIO/DIO at the filesystem level and assuming that CIO/DIO will bypass the JFS2 read ahead available when not using CIO/DIO my questionis what parameters I can play with to tune/improve the CIO in order to obtain similar performance for sequential reads (... (7 Replies)
I am running Aix 5.3 and Oracle 9.1;
What is the parameter "maxreqs" in Aix?
# lsattr -E -l aio0 -a maxreqs
maxreqs 4096 Maximum number of REQUESTS True;
Last night our database was down. Someone was telling it was due to maxreqs was full.
Question to gentlmen... (9 Replies)
I would like to hear your thoughts about this. We are running our Data warehouse on DB2 DPF (partition environment) and I have notice that sometimes we hit the Asynchronous-I/O-Processes peak. DB2 relies heavily on Asynchronous I/O so I would believe this has an negative impact.We are... (10 Replies)
In my oracle db server we have 15 cores (power8). The output of the vmstat is as below.
System configuration: lcpu=128 mem=208800MB ent=16.00
kthr memory page faults cpu time
-----------... (18 Replies)