lkml.org 
[lkml]   [2024]   [May]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 2/2] rust: time: Use wrapping_sub() for Ktime::sub()
Date
On Tue, Apr 23 2024 at 14:11, Boqun Feng wrote:
> On Thu, Apr 11, 2024 at 04:08:01PM -0700, Boqun Feng wrote:
>> Currently since Rust code is compiled with "-Coverflow-checks=y", so a
>> normal substraction may be compiled as an overflow checking and panic
>> if overflow happens:
>>
>> subq %rsi, %rdi
>> jo .LBB0_2
>> movq %rdi, %rax
>> retq
>> .LBB0_2:
>> pushq %rax
>> leaq str.0(%rip), %rdi
>> leaq .L__unnamed_1(%rip), %rdx
>> movl $33, %esi
>> callq *core::panicking::panic::h59297120e85ea178@GOTPCREL(%rip)
>>
>> although overflow detection is nice to have, however this makes
>> `Ktime::sub()` behave differently than `ktime_sub()`, moreover it's not
>> clear that the overflow checking is helpful, since for example, the
>> current binder usage[1] doesn't have the checking.
>
> Ping. Thomas, John and Stepthen. Could you take a look at this, and the
> discussion between Miguel and me? The key question is the behavior when
> ktime_sub() hits a overflow, I think. Thanks!

In principle ktime_sub() should not overflow for regular use cases.

If the binder example overflows the substraction, then something is
seriously wrong. Though in that case as it's only for debug purposes
panicing would be totally counter productive. A warning might be
appropriate though.

Thanks,

tglx



\
 
 \ /
  Last update: 2024-05-09 14:14    [W:0.217 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site