Re: [PATCH 00/21] liblockdep fixes for v4.12

From: Levin, Alexander (Sasha Levin)
Date: Fri May 26 2017 - 06:58:49 EST


On Fri, May 26, 2017 at 08:52:52AM +0200, Ingo Molnar wrote:
>
> * Levin, Alexander (Sasha Levin) <alexander.levin@xxxxxxxxxxx> wrote:
>
> > MAINTAINERS | 2 +-
> > tools/Makefile | 8 +++--
> > tools/include/linux/bitops.h | 10 ++++++
> > tools/include/linux/err.h | 5 +++
> > tools/include/linux/jhash.h | 175 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> > tools/include/linux/sched/clock.h | 0
> > tools/include/linux/sched/mm.h | 0
> > tools/include/linux/sched/task.h | 0
> > tools/include/linux/unaligned/packed_struct.h | 46 +++++++++++++++++++++++++++
> > tools/lib/lockdep/Makefile | 9 +++---
> > tools/lib/lockdep/lockdep.c | 17 ++++++++++
> > tools/lib/lockdep/preload.c | 3 +-
> > tools/lib/lockdep/run_tests.sh | 8 ++---
> > tools/lib/lockdep/uinclude/linux/bitops.h | 3 --
> > tools/lib/lockdep/uinclude/linux/compiler.h | 2 ++
> > tools/lib/lockdep/uinclude/linux/debug_locks.h | 2 +-
> > tools/lib/lockdep/uinclude/linux/irqflags.h | 8 ++---
> > tools/lib/lockdep/uinclude/linux/kallsyms.h | 3 +-
> > tools/lib/lockdep/uinclude/linux/kernel.h | 20 ++++++++++--
> > tools/lib/lockdep/uinclude/linux/lockdep.h | 26 ++++++++--------
> > tools/lib/lockdep/uinclude/linux/module.h | 5 +++
> > tools/lib/lockdep/uinclude/linux/rcu.h | 2 ++
> > 22 files changed, 317 insertions(+), 37 deletions(-)
> > create mode 100644 tools/include/linux/jhash.h
> > create mode 100644 tools/include/linux/sched/clock.h
> > create mode 100644 tools/include/linux/sched/mm.h
> > create mode 100644 tools/include/linux/sched/task.h
> > create mode 100644 tools/include/linux/unaligned/packed_struct.h
> > delete mode 100644 tools/lib/lockdep/uinclude/linux/bitops.h
>
> Yeah, so what needs to be fixed as well is for liblockdep to exclusively use
> tools/include/ (and extend those headers where required).
>
> perf already uses that method and it works well.
>
> liblockdep already uses tools/include/ in part, but even after I apply all your
> patches, there's still lib/lockdep/uinclude/ which appears to duplicate a number
> of headers.
>
> I did a quick check - for example WARN_ON() et al is duplicated in
> tools/lib/lockdep/uinclude/linux/kernel.h.

Right, and as you can see from this patchset where we added to
tools/include/ when needed and removed from lib/lockdep/uinclude,
liblockdep is slowly creeping the "right" way.

perf, like liblockdep, didn't finish the switch to exclusively use
tools/include/ yet.

I can put more work into getting it done over the next few releases,
but it's not something I see as a critical fix for the upcoming
release.

--

Thanks,
Sasha