Em Mon, Dec 01, 2014 at 08:06:21PM +0100, Jiri Olsa escreveu:
> hi,
> adding 'perf buildid-cache clean' command to allow removal
> files from '~/.debug` cache plus other fixes.
> 
> Basically the clean command allows to display/remove cache
> files/sizes like:
> 
> Display cache files older than 3 days:
>   $ perf buildid-cache clean 3d

This is confusing, I went on parsing and the above command meant: clean
the files that are 3 days or older.

Right now we have:

 usage: perf buildid-cache [<options>]

    -a, --add <file list>
                          file(s) to add
    -k, --kcore <file>    kcore file to add
    -r, --remove <file list>
                          file(s) to remove
    -M, --missing <file>  to find missing build ids in the cache
    -f, --force           don't complain, do it
    -u, --update <file list>
                          file(s) to update
    -v, --verbose         be more verbose

[acme@sandy wb]$ 

If we keep the way it is, I think it would be clearer to add a -l/--list
command and that would:

  perf buildid-cache --list  # list all the files in the cache
  perf buildid-cache --list 3d  # list 3 days old files
  perf buildid-cache --list +3d  # list files 3 days or more older
  perf buildid-cache --list -3d  # list files up to 3 days old

And all these would print the sum of the matching files, i.e. the space
those files use in the filesystem.
 
> Remove cache files older than 3 days:
>   $ perf buildid-cache clean 3d -r

  perf buildid-cache --remove [-+]Nd # Same semantics as above

>     
> Total cache removal:
>   $ perf buildid-cache clean -r

 perf buildid-cache --remove '*'
 
> Remove and display items bigger than 200M
>   $ perf buildid-cache clean -r -a 200M

But yeah, perhaps we could switch to having subcommands and add:

  perf buildid-cache [add|remove|update|list]

What do you think?

Also in this process, we should rename buildid-cache to a shorter form,
'cache', i.e. 'perf cache', or we can leave this for later, for Masami's
patchkit we discussed recently.

- Arnaldo
 
> 
> Also available in here:
>   git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
>   perf/core_buildid_cache_clean
> 
> thanks,
> jirka
> 
> 
> Cc: Arnaldo Carvalho de Melo <[email protected]>
> Cc: Corey Ashford <[email protected]>
> Cc: David Ahern <[email protected]>
> Cc: Frederic Weisbecker <[email protected]>
> Cc: Ingo Molnar <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Cc: Paul Mackerras <[email protected]>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Stephane Eranian <[email protected]>
> Cc: Steven Rostedt <[email protected]>
> Signed-off-by: Jiri Olsa <[email protected]>
> ---
> Jiri Olsa (8):
>       perf tools: Use single strcmp call instead of two
>       perf tools: Remove extra debugdir variables
>       perf tools: Add --buildid-dir option to set cache directory
>       perf buildid-cache: Add clean command
>       perf buildid-cache: Add automated tests
>       perf buildid cache: Fix -a segfault
>       perf buildid-cache: Fix kallsyms removal
>       perf buildid-cache: Try to remove empty directories
> 
>  tools/perf/Documentation/perf-buildid-cache.txt |  59 +++++++++++
>  tools/perf/Documentation/perf.txt               |   4 +
>  tools/perf/Makefile.perf                        |   7 +-
>  tools/perf/builtin-buildid-cache.c              | 501 
> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
>  tools/perf/perf.c                               |  14 ++-
>  tools/perf/tests/buildid-cache.c                |  88 ++++++++++++++++
>  tools/perf/tests/buildid-cache.sh               |  60 +++++++++++
>  tools/perf/tests/builtin-test.c                 |   8 ++
>  tools/perf/tests/tests.h                        |   1 +
>  tools/perf/util/build-id.c                      |  53 ++++++++--
>  tools/perf/util/config.c                        |  10 +-
>  tools/perf/util/util.h                          |   2 +-
>  12 files changed, 781 insertions(+), 26 deletions(-)
>  create mode 100644 tools/perf/tests/buildid-cache.c
>  create mode 100755 tools/perf/tests/buildid-cache.sh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to