[lxc-devel] [PATCH] /proc/stat in lxcfs
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Feb 16 19:14:08 UTC 2015
Quoting Christian Brauner (christianvanbrauner at gmail.com):
>
> > > + else if (sscanf(cpu_char, "%d", &cpu) != 1) {
> >
> > This is an unorthodox (for lxc) coding style. Could you explain
> > exactly what you're doing here? I would expect just:
> >
> > if (sscanf(cpu_char, "%d", &cpu) != 1))
> > continue;
> > if (!cpu_in_cpuset(cpu, cpuset))
> > continue;
>
> Your way is the better way to do it. I adjusted and squased the PR and
> post the patch again here as well:
>
> commit 21c3c7ace34eaf5f19074e332222d050896b5cc3
> Author: Christian Brauner <christianvanbrauner at gmail.com>
> Date: Sun Feb 15 11:31:31 2015 +0100
>
> Show cpu-average in /proc/stat and start cup numbering at 0
Note, your previous patch had a signed-off-by, but this one does not.
I'll let Stéphane decide whether that's good enough :)
Thanks, Christian.
Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
>
> diff --git a/lxcfs.c b/lxcfs.c
> index d6fb101..d358829 100644
> --- a/lxcfs.c
> +++ b/lxcfs.c
> @@ -1642,7 +1642,7 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
> nih_local char *cpuset = NULL;
> char *line = NULL;
> size_t linelen = 0, total_len = 0;
> - int curcpu = 0;
> + int curcpu = -1; /* cpu numbering starts at 0 */
> FILE *f;
>
> if (offset)
> @@ -1662,16 +1662,21 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
> while (getline(&line, &linelen, f) != -1) {
> size_t l;
> int cpu;
> + char cpu_char[10]; /* That's a lot of cores */
> char *c;
>
> - if (sscanf(line, "cpu%d", &cpu) != 1) {
> - /* not a ^cpu line, just print it */
> + if (sscanf(line, "cpu%9[^ ]", cpu_char) != 1) {
> + /* not a ^cpuN line containing a number N, just print it */
> l = snprintf(buf, size, "%s", line);
> buf += l;
> size -= l;
> total_len += l;
> continue;
> }
> +
> + if (sscanf(cpu_char, "%d", &cpu) != 1)
> + continue;
> +
> if (!cpu_in_cpuset(cpu, cpuset))
> continue;
> curcpu ++;
>
> Christian
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list