Re: pid start time and new display field in proc pid stat

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 25, 2021 at 8:51 PM <jim.cromie@xxxxxxxxx> wrote:
>
>
>
> On Thu, Mar 25, 2021 at 6:53 AM Navin P <navinp0304@xxxxxxxxx> wrote:
>>
>> Hi,
>>
>>  As of 5.11 kernel (pid,pid_start_time) is not unique /monotonic even
>> though the underlying counters are .
>>  I chose start_boottime because i wanted the counter to increase
>> during suspend as well.
>>
>> 1. Is there any case where task->start_boottime or
>> ktime_get_boottime_ns doesn't become monotonic i.e increasing ?
>>
>> 2.  If start_boottime is not monotonic which counter to use ?
>>
>> 3.  If i create a new field in task_struct , then i can use a
>> atomic_add_return(1,&v) to fill in the task->new_field. Will this also
>> work ?
>>
>
> Its my understanding that task-struct is a highly "contended" resource.
>
> its a basic element, its size matters
> everybody wants a bit/byte for something special,
> conflicts ensue (or could).
> nobody gets them without a real good reason.
>
> I dont know what youre trying to achieve, but i suspect that
> youll need to find a more subtle way of doing it.


Yes creating a new field is not appropriate. I was checking on the
other options in case a similar problem occurs, like other ways of
solving this problem.

My patch doesn't create a new field, it uses the existing field and
prints it in /proc/[pid]/stat. Stat files are created
on first lookup. These are used by ps or top.

+ seq_put_decimal_ull(m, " ", task->start_boottime);

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]

  Powered by Linux