lkml.org 
[lkml]   [2019]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v13 2/3] x86,/proc/pid/status: Add AVX-512 usage elapsed time
    On Fri, Apr 5, 2019 at 10:02 PM Aubrey Li <aubrey.li@linux.intel.com> wrote:
    > AVX-512 components use could cause core turbo frequency drop. So
    > it's useful to expose AVX-512 usage elapsed time as a heuristic hint
    > for the user space job scheduler to cluster the AVX-512 using tasks
    > together.
    >
    > Tensorflow example:
    > $ while [ 1 ]; do cat /proc/pid/status | grep AVX; sleep 1; done
    > AVX512_elapsed_ms: 4
    > AVX512_elapsed_ms: 8
    > AVX512_elapsed_ms: 4
    >
    > This means that 4 milliseconds have elapsed since the AVX512 usage
    > of tensorflow task was detected when the task was scheduled out.
    >
    > Or:
    > $ cat /proc/pid/status | grep AVX512_elapsed_ms
    > AVX512_elapsed_ms: -1

    (Very nitpicky, feel free to ignore: If you change the /proc/pid to
    /proc/tid in the commit message, it becomes clearer that this status
    is really per-task/thread, not per-process/threadgroup.)

    [...]
    > +
    > +/*
    > + * Report the amount of time elapsed in millisecond since last AVX512
    > + * use in the task.
    > + */
    > +static void avx512_status(struct seq_file *m, struct task_struct *task)
    > +{
    > + unsigned long timestamp = task->thread.fpu.avx512_timestamp;

    This is theoretically a data race, right? Should this have a READ_ONCE() on it?

    Is there something that zeroes out the avx512_timestamp on
    fork()/clone(), or will every child inherit the avx512 timestamp? As
    far as I can tell, the timestamp is inherited; I think it would be
    nicer to zero it out at that point. Either way, It might be worth
    documenting this decision.

    \
     
     \ /
      Last update: 2019-04-05 22:28    [W:2.730 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site