But now I see where you like to use O_DIRECT.
If you use O_DIRECT for writing, it makes sense and in the same case
it makes sense to use directio(fd, DIRECTIO_ON); on Solaris.
By not buffering the output of mkisofs, for example, buffer space is
available for reading. This makes a small improvement on a large memory,
much more as the memory is smaller and read ahead could be impacted by
buffering writes.
Although on Solaris, it only saves System CPU time and I cannot see
an wall clock improvement.
I haven't tested there, and I bet you have not tested in small memory (I
use 160MB for test).
Whether this makes sense with the _output_ file from star or mkisofs
needs to be tested.....
I had not tried with the output of star, that's an interesting suggestion.