DPC is in single milliseconds at worst, while soundcards easily handle DMA buffers of hundreds of millisecs, some even seconds. The trick (unless low latency required) is to raise the buffer sufficiently.
Tested latency monitor this afternoon:
REPORTED DPCs
____________________________________________________________________________________________________
_____
Highest DPC routine execution time (µs): 19488,501337
Driver with highest DPC routine execution time: ACPI.sys - Controlador ACPI para NT, Microsoft Corporation
Highest reported total DPC routine time (%): 2,344699
Driver with highest DPC total execution time: ACPI.sys - Controlador ACPI para NT, Microsoft Corporation
Total time spent in DPCs (%) 3,438667
DPC count (execution time <250 µs): 381482
DPC count (execution time 250-500 µs): 0
DPC count (execution time 500-999 µs): 1334
DPC count (execution time 1000-1999 µs): 6675
DPC count (execution time 2000-3999 µs): 887
DPC count (execution time >=4000 µs): 0
Yes, that says the maximum has been 19 milliseconds. Just playing a song with directsound set at 5 buffers of 1576 samples (176ms of audio latency, 44Khz).
And obviously, i had audio skips.
I can get as low as 59ms with directsound and 25ms with WASAPI (And even less with ASIO and Asio4all). It really depends if the system wants to lag or not.
I was going to ask why you talk about DMA buffers, but I guess this sentence of yours is the key "I am aware of the fact that raising the buffer is often not an option on windows. That is why I use linux for audio."
So, now that we're on linux... What problems have you experienced with USB Audio over it? It's just so that we can conclude that Windows is more prone to the problem, and as such, it's audio stack, and not the USB protocol.