On 04/05/2017 04:54, Xiao Guangrong wrote:
>>>
>>> +            /*
>>> +             * if more than period clocks were passed, i.e, the
>>> timer interrupt
>>> +             * has been lost, we should catch up the time.
>>> +             */
>>> +            if (s->lost_tick_policy == LOST_TICK_POLICY_SLEW &&
>>> +                (lost_clo / period)) {
>>> +                int lost_interrupt = lost_clock / period;
>>> +
>>> +                s->irq_coalesced += lost_interrupt;
>>> +                lost_clock -= lost_interrupt * period;
>>> +                if (lost_interrupt) {
>>> +                    DPRINTF_C("cmos: compensate %d interrupts,
>>> coalesced irqs "
>>> +                              "increased to %d\n", lost_interrupt,
>>> +                              s->irq_coalesced);
>>> +                    rtc_coalesced_timer_update(s);
>>> +                }
>>
>> I think you should merge these two patches, since both of them
>> essentially update the number of coalesced ticks and then split it
>> between s->irq_coalesced and lost_clock.
> 
> I thought these two patches fix two different issues, one for clock
> lost for coalesced-irq and another for period reconfiguration. Your
> suggestion sounds reasonable indeed, will merged them in the next
> version. :)

Yunfang's patch in turn has two parts, one that is only for SLEW and one
that is not.  You can keep the first separate, and merge the second with
yours.

Paolo

Reply via email to