use swap() to get device list copy