On Thu, Oct 5, 2023 at 10:05 AM Oleg Nesterov <oleg@xxxxxxxxxx> wrote: > > sorry, didn't notice this part before. > > I am not a asm expert (to say at least;) but > > On 10/05, Li Nan wrote: > > > > When (a * mul) overflows, a divide 0 error occurs in > > mul_u64_u64_div_u64(). > > Just in case... No, iirc it is divq which triggers #DE when the > result of division doesn't fit u64. Yeah, sorry for my incorrect wording here - but we're probably seeing exactly that the final result doesn't fit in u64. (I wasn't familiar with the intermediary registers here, thanks for explaining) > > (a * mul) can't overflow, the result is 128-bit rax:rdx number. > > Oleg. >