@rmu You are absolutely right, by the time you have a jitter ~1T you got bigger problems to worry about, and you should not run a machine under those conditions.
My original assumption (possibly a wrong one) was that @beefy was questioning how to interface a microcontroller to a correctly configured and functioning HAL real-time thread. Obviously for some definition of "correctly" and "functioning" which I would suggest means Jitter << 1T. I maintain that the answer is pulse > 1T where the ">" represents the aggregated uncertainties within the system, which I am assuming to be well << 1T. Note that >1T is algorithmic, with pulse = 2T being perhaps the obvious first choice.
When discussing the subject we all moved the focus on the system jitter. On that subject, while I do agree with @rmu that we should avoid large jitter, I want to point out that it is not so simple, since LinuxCNC does not run on a hard real-time OS. Consequently, in the absence of a *guarantee* all we can do is to run one of the latency* tools for "a while" and hope that we get good-enough representative data.
The bottom line is that the pulse = 2T is a good suggestion.
Perhaps what threw me off was the ">" sign in the original ">2T" suggestion which I (perhaps wrongly) interpreted as an algorithmic suggestion rather than "make it 2T and you are good, and if it's more that is OK, too".
Cheers