Thread Page-I/O Strategy Routine

Pager backends have their strategy routines run at the interrupt level of the Virtual Memory Manager (VMM). Some file systems, however, require that their strategy routines run in the context of the thread that directly causes the page I/O to occur. The VMM accommodates the difference with a blocking, or thread page-I/O strategy routine. If no thread directly causes page I/O to occur, for example, in the case of page replacement, then the strategy routine is invoked in the context of a worker thread from a pool of worker threads that are managed by the VMM.

A file system with a thread page-I/O strategy routine can use all AIX® facilities as part of its handling of page I/O or page protection faults. If the file system intends to re-enter the VMM through client segment page faults or to use VMM services that involve client file segments, the file system must first save the per-thread VMM context by calling the vm_thrpgio_push service. The per-thread context can be restored using the vm_thrpgio_pop service.

To use a client file system with a thread-level strategy routine, mount the file system with the vm_mounte service with its strategy routine specified and the D_THRPGIO and D_ENHANCEDIO flags set. To remove the file system from the paging device table, call the vm_umount service.