[Autogenerated] Here, is one way, we can summarize what we've seen,
let's say we have some code running,
let's say in user mode which means the R Q of the processor running.
That code is zero,
let's now say that an interrupt comes in an
interrupt can come in on any processor.
And can come at any time.
So let's assume it's interrupting this processor.
Let's assume further that the R Q L for this interrupt.
Is five we know that it's always at least three.
So because that five is greater than zero,
the C P U will save state and then jump,
to run inter, up service routine.
Let's call that interp, search three number one,
that belongs to the appropriate driver, that is supposed,
to handle, that specific interrupt, the arc code of the process.
So now jumps, to five while it's running these interrupt, service routine.
Notice its the same thread there.
Is no context switch, is Just about saving state,
and then jumping, to these interrupt, service routine while that interrupt,
searches routine, is running.
Let's assume another interrupt comes in to be handled,
in the same or on the same processor.
Let's assume that interrupt has an idea code of eight and Since eight is
greater than five it will interrupt this interrupt,
service routine.
So another state change will happen.
And another interrupt,
search routine will run that belongs to a different device,
a different driver, that completely unrelated just happened.
To be coming in close succession while the first interrupt,
services was still running and that same processor,
was selected, to handle, that interrupt.
So again there, is no context, wi You remember contact wies, are not allowed.
And the R Q L, is two or higher the scheduler is asleep.
And cannot wake up on this processor.
It can wake up on other processors.
That's fine but it cannot wake up on this process.
So now let's assume that I S R number two, is running to completion.
Once it completes the R Q L will drop back.
To five and I S R one will continue running,
let's say, to completion, and then the R Q L can drop back,
to zero.
So essentially all these errors,
that we see here all these code lines here have been
executing by exactly the same thread.
The initial thread,
that was interrupted when the first interrupt came in because remember context,
widgets cannot happen when the I R Q is two or higher.