[CRIU] [PATCH v9 05/10] parse: add a helper to obtain an uptime

Pavel Tikhomirov ptikhomirov at virtuozzo.com
Tue Apr 3 16:24:50 MSK 2018



On 04/03/2018 04:11 PM, Dmitry Safonov wrote:
> 2018-04-03 10:34 GMT+01:00 Pavel Tikhomirov <ptikhomirov at virtuozzo.com>:
> [..]
>> +
>> +#define CSEC_PER_SEC 100
>> +
>> +__maybe_unused int parse_uptime(u_int64_t *upt)
> 
> Nit: can we use uint64_t?
> I see u_int64_t the first time and git says we've it only in one other place.

Oops, I brought it from encode_time - will use uint64_t instead, thanks!

> 
>> +{
>> +       unsigned long sec, csec;
>> +       FILE *f;
>> +
>> +       f = fopen("/proc/uptime", "r");
>> +       if (!f) {
>> +               pr_perror("Failed to fopen /proc/uptime");
>> +               return -1;
>> +       }
>> +
>> +       if (fscanf(f, "%lu.%2lu", &sec, &csec) != 2) {
>> +               pr_perror("Failed to parse /proc/uptime");
>> +               fclose(f);
>> +               return -1;
>> +       }
>> +
>> +       *upt = sec * USEC_PER_SEC + csec * (USEC_PER_SEC / CSEC_PER_SEC);
> 
> It's not clear from the commit message, why do you save time in usec,
> rather than in csec?

I thought it would be better to have usec in image, so when/if we have 
more precise uptime we can just reuse same variable in image and won't 
need adding another one.

> 
> Thanks,
>               Dmitry
> 

-- 
Best regards, Tikhomirov Pavel
Software Developer, Virtuozzo.


More information about the CRIU mailing list