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
awrite(9E) Driver Entry Points awrite(9E)NAME
awrite - asynchronous write to a device
intprefixawrite(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 awrite() entry point should use
dev Device number.
aio_reqp Pointer to the aio_req(9S) structure that describes where the data is stored.
cred_p Pointer to the credential structure.
The driver's awrite() routine is called to perform an asynchronous write. getminor(9F) can be used to access the minor number component of
the dev argument. awrite() may use the credential structure pointed to by cred_p to check for superuser access by calling drv_priv(9F).
The awrite() routine may also examine the uio(9S) structure through the aio_req structure pointer, aio_reqp. awrite() 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 awrite() routine should return 0 for success, or the appropriate error number.
This function is called from user context only.
Example 1: Using the awrite routine:
The following is an example of an awrite() routine:
xxawrite(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_WRITE, xxminphys, aio));
SEE ALSO write(2), aiowrite(3AIO), aread(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 write.
SunOS 5.10 28 Mar 1997 awrite(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)