Hi Julien, > On 7 Jul 2022, at 16:33, Julien Grall <[email protected]> wrote: > > Hi Jiamei, > > On 06/07/2022 09:25, Jiamei Xie wrote: >> virt_vtimer_save() will calculate the next deadline when the vCPU is >> scheduled out. At the moment, Xen will use the following equation: >> virt_timer.cval + virt_time_base.offset - boot_count >> The three values are 64-bit and one (cval) is controlled by domain. In >> theory, it would be possible that the domain has started a long time >> after the system boot. So virt_time_base.offset - boot_count may be a >> large numbers. >> This means a domain may inadvertently set a cval so the result would >> overflow. Consequently, the deadline would be set very far in the >> future. This could result to loss of timer interrupts or the vCPU >> getting block "forever". >> One way to solve the problem, would be to separately >> 1) compute when the domain was created in ns >> 2) convert cval to ns >> 3) Add 1 and 2 together >> The first part of the equation never change (the value is set/known at >> domain creation). So take the opportunity to store it in domain structure. >> Signed-off-by: Jiamei Xie <[email protected]> > > Reviewed-by: Julien Grall <[email protected]> > > The commit message is my own, I would like to Bertrand or Stefano to confirm > they are happy with it :).
I am ok with it so: Reviewed-by: Bertrand Marquis <[email protected]> Cheers Bertrand > > Cheers, > > -- > Julien Grall
