Unverified Commit 93121772 authored by Atish Patra's avatar Atish Patra Committed by Palmer Dabbelt
Browse files

RISCV: Disable timer interrupt in handler to fix nohz.

The timer interrupt pending bit is cleared in bbl while
reprogramming the timer. This works fine unless we are
in nohz mode. In nohz mode, the timer is not reprogrammed.
Thus, the pending bits are not cleared leading to continuous
timer interrupt firing and cpu stalls.

Disable timer interrupt in interrupt handler to ignore
the pending bit until next interrupt. Timer interrupt
is enabled again before next timer event is set.

The details of the stalls can be found in
https://github.com/riscv/riscv-linux/issues/127

Other possible ideas discussion:
https://github.com/riscv/riscv-pk/pull/108



Signed-off-by: default avatarAtish Patra <atish.patra@wdc.com>
Signed-off-by: default avatarPalmer Dabbelt <palmer@sifive.com>
parent cf0183bb
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment