On Tue, 2024-01-02 at 18:25 +0800, Xi Ruoyao wrote: > On Tue, 2024-01-02 at 18:17 +0800, Xi Ruoyao wrote: > > The only other architecture setting FCSR in SET_PERSONALITY2 is MIPS. > > They do this for supporting different FP flavors (NaN encodings etc). > > which do not exist on LoongArch. I'm not sure how MIPS evades the issue > > (or maybe it's just buggy too) but I'll investigate it later. > > Phew. I just managed to recommission my 3A4000 and I can reproduce the > issue as well with Linux 5.18.1 (the latest kernel release when I > decommissioned it) and CONFIG_PREEMPT=y. > > % cat measure.c > #include <fenv.h> > int main() { return fetestexcept(FE_INEXACT); } > > % echo $((1./3)) > 0.33333333333333331 > > % while ./a.out; do ; done > (stopped in seconds) > > I'm building the mainline kernel on the 3A4000 now, will see if the > issue still exists... Still happening with 6.7.0-rc8. I'm not sure how to fix it for MIPS. Maybe lose_fpu in SET_PERSONALITY2? But to me doing so will be really nasty. Anyway I'll leave this for MIPS maintainers. -- Xi Ruoyao <xry111@xxxxxxxxxxx> School of Aerospace Science and Technology, Xidian University