Remix.run Logo
jsolson 18 hours ago

You might have even better precision if you stay away from CPU0 and also set idle=poll in your kernel command line. Lots of things (including other interrupts) often land on CPU0. It would not be my first choice for something where I wanted high timing precision.

yc-kraln 17 hours ago | parent | next [-]

I came here to post this. We make a lot of the same sorts of optimizations for our OS distro (debian based) -- disabling frequency scaling, core pinning, etc. Critically, CPU0 has a bunch of stuff you cannot push, and you're better off with using one of the other cores as an isolated island.

This is what the scheduler latency looks like on our isolated core:

# Total: 000300000 # Min Latencies: 00001 # Avg Latencies: 00005 # Max Latencies: 00059 # Histogram Overflows: 00000

(those are uS!)

msephton 15 hours ago | parent [-]

Very cool. What are you running on it? What's your use case?

auspiv 11 hours ago | parent | prev [-]

Worth a shot! I'll give it a go later today.