Почему бы вам не использовать SCHED_RR? Вы сами сказали: низкая загрузка процессора . Вы могли бы даже понравится этот процесс, когда ожидаете выполнить тяжелый ввод-вывод, поэтому вы планируете его реже, чем другие процессы.
В общем, почему бы не позволить ОС делать то, что у нее лучше, и просто беспокоиться о написании эффективного кода? ОС будет знать, что вы делаете блокирующий вызов ввода / вывода, и поместит ваш поток / задачу в очередь ожидания и выберет другую задачу для запуска. Вам не нужно беспокоиться об этих деталях.