summaryrefslogtreecommitdiffstats
path: root/arch/mips/kernel/segment.c
diff options
context:
space:
mode:
authorHuacai Chen <chenhc@lemote.com>2016-07-21 14:27:51 +0800
committerRalf Baechle <ralf@linux-mips.org>2016-07-24 12:01:00 +0200
commit3ef06653987d4c4536b408321edf0e5caa2a317f (patch)
tree2ceef19d66fd2d029e5b3b64454d947eac807383 /arch/mips/kernel/segment.c
parent07d69579e7fec27e371296d8ca9d6076fc401b5c (diff)
downloadlinux-3ef06653987d4c4536b408321edf0e5caa2a317f.tar.gz
linux-3ef06653987d4c4536b408321edf0e5caa2a317f.tar.bz2
linux-3ef06653987d4c4536b408321edf0e5caa2a317f.zip
MIPS: hpet: Increase HPET_MIN_PROG_DELTA and decrease HPET_MIN_CYCLES
At first, we prefer to use mips clockevent device, so we decrease the rating of hpet clockevent device. For hpet, if HPET_MIN_PROG_DELTA (minimum delta of hpet programming) is too small and HPET_MIN_CYCLES (threshold of -ETIME checking) is too large, then hpet_next_event() can easily return -ETIME. After commit c6eb3f70d44828 ("hrtimer: Get rid of hrtimer softirq") this will cause a RCU stall. So, HPET_MIN_PROG_DELTA must be sufficient that we don't re-trip the -ETIME check -- if we do, we will return -ETIME, forward the next event time, try to set it, return -ETIME again, and basically lock the system up. Meanwhile, HPET_MIN_CYCLES doesn't need to be too large, 16 cycles is enough. This solution is similar to commit f9eccf24615672 ("clocksource/drivers /vt8500: Increase the minimum delta"). By the way, this patch ensures hpet count/compare to be 32-bit long. Signed-off-by: Huacai Chen <chenhc@lemote.com> Cc: John Crispin <john@phrozen.org> Cc: Steven J . Hill <Steven.Hill@imgtec.com> Cc: Fuxin Zhang <zhangfx@lemote.com> Cc: Zhangjin Wu <wuzhangjin@gmail.com> Cc: linux-mips@linux-mips.org Cc: stable@vger.kernel.org Patchwork: https://patchwork.linux-mips.org/patch/13819/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/segment.c')
0 files changed, 0 insertions, 0 deletions