i need a high resolution timer that expired within 100us(microsecond) that can works in windows kernel.
i tried ExSetTimerResolution to set system clock interrupt frequency to 50 like this: ExSetTimerResolution(50, 1)
but is returned 5000 which means the smallest resolution the system can support on my platform.
Note also that even with a dedicated device that fires interrupts at your desired frequency, you need to be prepared to handle delayed and coalesced interrupts.
Under normal circumstances, interrupts are handled very quickly. But your code needs to handle the situation when your interrupt isn't. And when the hardware groups two or more together before the signal gets to the CPU. At least don't crash
Just to step back, do you actually need a periodic timer event? If it's a one-time or occasional need (such as for device initialization), KeStallExecutionProcessor may be what you're looking for. Of course, it would be an awful solution if you needed to use it frequently.