...actually, I guess one should say OS calls period vs. just IO.....we often confuse ourselves with the separate disk and network tasks into assuming they process the IO's - when in reality, they merely poll for IO completion. As you point out, the actual aio_read/aio_write calls are still made by the engines and if the OS does something funky (as Solaris did in pre-10 jumbo patch something or another where it didn't allow KAIO from process threads) we can spend a lot of cpu cycles on system calls - especially where the OS uses a mutex as part of handling the call. OS clock calls (for example) can be extremely expensive (hence getdate() uses ASE's clock)
↧