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