1838682 Members
4129 Online
110128 Solutions
New Discussion

async device driver

 
SOLVED
Go to solution
Rammig Claus
Frequent Advisor

async device driver

HPUX 11i
Oracle 9i
Async IO on raw devices (Clariion 600)

What is the best minor number for the /dev/async-device?
0x000000 default
0x000001 IR

Kind regards
Claus
No risc no fun
9 REPLIES 9
Ken Hubnik_2
Honored Contributor

Re: async device driver

Have you tried 101??
Ken Hubnik_2
Honored Contributor

Re: async device driver

Sorry wrong number 0x000004
John Dvorchak
Honored Contributor

Re: async device driver

I am not sure there is a "best" minor number. As long as the major and minor number combination are unique. So in light of that I guess your "best" minor number for the example you gave would be 0x000002

Good luck,
John
If it has wheels or a skirt, you can't afford it.
Michael Tully
Honored Contributor

Re: async device driver

To set these up properly.

# mknod /dev/async c 101 4

Mkae sure that you change the owner and group if required. e.g. If your using sybase, then sybase should be the owner.
Anyone for a Mutiny ?
Donald Dawson
Frequent Advisor

Re: async device driver

I had this same question recently and this is from my research confirmed by HP. We use Informix and hardware mirroring, so we used 101 0

---------------

If using HP hardware/OS redundancy or mirroring, create the async device as follows:
/usr/sbin/mknod /dev/async c 101 0

Otherwise, if using IBM Informix mirroring or no hardware/OS mirroring, or no mirroring at all, create the async device as follows:
/usr/sbin/mknod /dev/async c 101 4

chmod 0666 /dev/async

Donald
Rammig Claus
Frequent Advisor

Re: async device driver

Hi Donald,

I have read somewhere in this forum, that Oracle crashes with a minor number of 0x000004.

Claus
No risc no fun
Dietmar Konermann
Honored Contributor
Solution

Re: async device driver

Hi, Claus!

The 0x000004 bit is indeed an important one. It controls if also retryable IO errors should be passed to the upper layer (i.e. the application).

If you use software mirroring in the application then you need to get the errors conditions passed up... the the application needs to be able to recover from the situation using e.g. its own mirrors. The bit in fact instructs the kernel to pass such errors to the application.

If you use no software mirroring in the application then this flag MUST NOT be set! Otherwise LVM may NOT able to use e.g. PVLinks and mirroring features to hide error conditions from the application!

Best regards...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)
Rammig Claus
Frequent Advisor

Re: async device driver

Hi Dietmar,

as we will use Oracle on this filesystems, we must not use the 04 minorcode for /dev/async. Do you know the exact explanation of minorcode 02 "flush the CPU cache after reads".

Kind regards
Claus

No risc no fun
Dietmar Konermann
Honored Contributor

Re: async device driver

Hi, Claus!

I found this info about the 0x2 bit of asyncdsk. Interesting is, that the meaning is just the opposite. :-) The flushing is disabled by setting the bit.

Please note, that only the application vendor can tell for sure, what options should be used with his application! So don't take this comment as a recommendation to set this bit, please.

0x2)
If set, the CPU cache will not be flushed after a read request. This extra cache flush is only needed if the application touches data buffers while they are being read from a device. Setting this bit can improve performance slightly.


Best regards...
Dietmar.
"Logic is the beginning of wisdom; not the end." -- Spock (Star Trek VI: The Undiscovered Country)