[bitbake-devel] [PATCH] utils: Add ionice option to prunedir

richard.purdie at linuxfoundation.org richard.purdie at linuxfoundation.org
Thu Sep 19 19:38:22 UTC 2019


On Thu, 2019-09-19 at 11:02 -0700, akuster wrote:
> 
> On 9/19/19 8:51 AM, Richard Purdie wrote:
> > Autobuilder type infrastructure can benefit from deletion of
> > certain files as
> > background IO due to the way Linux filesystem priority works.
> > 
> > We have problems where build directories as part of oe-selftest
> > being
> > delete starves the running tasks of IO to the point builds take
> > much
> > longer to compelte.
> > 
> > Having this option of running the deletion at "idle" helps a lot
> > with
> > that.
> > 
> > Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> > ---
> >  lib/bb/utils.py | 11 +++++++----
> >  1 file changed, 7 insertions(+), 4 deletions(-)
> > 
> > diff --git a/lib/bb/utils.py b/lib/bb/utils.py
> > index 3e90b6a306..d035949b3d 100644
> > --- a/lib/bb/utils.py
> > +++ b/lib/bb/utils.py
> > @@ -677,7 +677,7 @@ def _check_unsafe_delete_path(path):
> >          return True
> >      return False
> >  
> > -def remove(path, recurse=False):
> > +def remove(path, recurse=False, ionice=False):
> >      """Equivalent to rm -f or rm -rf"""
> >      if not path:
> >          return
> > @@ -686,7 +686,10 @@ def remove(path, recurse=False):
> >              if _check_unsafe_delete_path(path):
> >                  raise Exception('bb.utils.remove: called with
> > dangerous path "%s" and recurse=True, refusing to delete!' % path)
> >          # shutil.rmtree(name) would be ideal but its too slow
> > -        subprocess.check_call(['rm', '-rf'] + glob.glob(path))
> > +        cmd = []
> > +        if ionice:
> > +            cmd = ['ionice', '-c', '3']
> Would allowing folks to configure the ionice value apply here?

Its a good question, there isn't usually a lot of choice since a
process can only "degrade" its priority, not increase it. I'd prefer to
leave this as is and extend if anyone ever really needs it.

(3 means 'idle' which matches what the autobuilder does for file
deletion in general)

Cheers,

Richard



More information about the bitbake-devel mailing list