To summarise (just checking to see if I understand it all):
- Only one priority group should be active at any one time; so if we want to test a path in a secondary priority group we have to send all io to this group.
- Switching priority groups can be very expensive. Choosing an apposite moment to do this switch would be good. The heavier the load on the system the less likely that there is a good moment.
- For some drivers switching priority groups requires userland intervention. I really, really don't want to do upcalls to userland.