I agree, the message can be confusing, as there can be some ambiguity as to which kernel was implied by the warning.
Right now it says: WARNING: The Linux kernel was not configured to provide .... As you suggested, I will change it to: WARNING: The Linux kernel on your build host was not configured to provide... Thanks Juro > -----Original Message----- > From: Khem Raj [mailto:raj.k...@gmail.com] > Sent: Saturday, February 20, 2016 11:13 AM > To: Bystricky, Juro <juro.bystri...@intel.com> > Cc: Patches and discussions about the oe-core layer <openembedded- > c...@lists.openembedded.org>; Juro Bystricky <jurobystri...@hotmail.com> > Subject: Re: [OE-core] [PATCH] buildstats.bbclass: Don't assume /proc/<pid>/io > present > > Juro > > On Fri, Feb 19, 2016 at 5:37 PM, Juro Bystricky <juro.bystri...@intel.com> > wrote: > > It is not guaranteed Linux kernel was configured with process I/O > > statistics enabled. If process I/O statistcs are not present, issue a > > one time warning and do not attempt to read the non-existing stats > > counters. > > > > [YOCTO#9025] > > > > Signed-off-by: Juro Bystricky <juro.bystri...@intel.com> > > --- > > meta/classes/buildstats.bbclass | 24 ++++++++++++++++-------- > > 1 file changed, 16 insertions(+), 8 deletions(-) > > > > diff --git a/meta/classes/buildstats.bbclass > > b/meta/classes/buildstats.bbclass index e58d37b..72a3dd9 100644 > > --- a/meta/classes/buildstats.bbclass > > +++ b/meta/classes/buildstats.bbclass > > @@ -25,13 +25,14 @@ def get_process_cputime(pid): > > 'cstime' : fields[16], > > } > > iostats = {} > > - with open("/proc/%d/io" % pid, "r") as f: > > - while True: > > - i = f.readline().strip() > > - if not i: > > - break > > - i = i.split(": ") > > - iostats[i[0]] = i[1] > > + if os.path.isfile("/proc/%d/io" % pid): > > + with open("/proc/%d/io" % pid, "r") as f: > > + while True: > > + i = f.readline().strip() > > + if not i: > > + break > > + i = i.split(": ") > > + iostats[i[0]] = i[1] > > resources = resource.getrusage(resource.RUSAGE_SELF) > > childres = resource.getrusage(resource.RUSAGE_CHILDREN) > > return stats, iostats, resources, childres @@ -111,7 +112,14 @@ > > python run_buildstats () { > > > > if isinstance(e, bb.event.BuildStarted): > > > ################################################################# > ####### > > - # at first pass make the buildstats heriarchy and then > > + # If the kernel was not configured to provide I/O statistics, issue > > + # a one time warning. > > + > ################################################################# > ####### > > + if not os.path.isfile("/proc/%d/io" % os.getpid()): > > + bb.warn("The Linux kernel was not configured to provide > > + process I/O statistics. (CONFIG_TASK_IO_ACCOUNTING is not set)") > > + > > It would be nicer if we also clarified its not the kernel that they will > build but the > kernel on their build host. So something like 'Linux kernel on your build > host ...." > > > + > ################################################################# > ####### > > + # at first pass make the buildstats hierarchy and then > > # set the buildname > > > ################################################################# > ####### > > bb.utils.mkdirhier(bsdir) > > -- > > 1.9.1 > > > > -- > > _______________________________________________ > > Openembedded-core mailing list > > Openembedded-core@lists.openembedded.org > > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core