Re: [-next] rename of VM_NR_PDFLUSH_THREADS breaks strace compilation

Rafael Aquini
2018-12-07T11:16:01Z

On Fri, Dec 07, 2018 at 12:01:46PM +0100, Heiko Carstens wrote:
> On Fri, Dec 07, 2018 at 05:53:13AM -0500, Rafael Aquini wrote:
> > On Fri, Dec 07, 2018 at 08:58:07AM +0100, Heiko Carstens wrote:
> > > Hi Rafael,
> > >
> > > your patch 77cab92a2cb1 ("sysctl: clean up nr_pdflush_threads
> > > leftover") in linux-next breaks strace compilation if used with kernel
> > > headers from linux-next.
> > > - VM_NR_PDFLUSH_THREADS=15, /* nr_pdflush_threads */
> > > + VM_UNUSED15=15, /* was: int: nr_pdflush_threads */
> > The nr_pdflush_threads (VM_NR_PDFLUSH_THREADS) tunable has been obsolete since 2.6.32
> > and it was, excepting by the bit in the referred patch, completely removed on 4.15.
> >
> > I think you just need to patch strace source with the following hunk, in
> > order to reflect the removal. Would you mind checking it?
> >
> > diff --git a/xlat/sysctl_vm.in b/xlat/sysctl_vm.in
> > index 3c2b4739..30784c2a 100644
> > --- a/xlat/sysctl_vm.in
> > +++ b/xlat/sysctl_vm.in
> > @@ -5,7 +5,6 @@ VM_DIRTY_BACKGROUND
> > VM_DIRTY_RATIO
> > VM_DIRTY_WB_CS
> > VM_DIRTY_EXPIRE_CS
> > -VM_NR_PDFLUSH_THREADS
> > VM_OVERCOMMIT_RATIO
> > VM_PAGEBUF
> > VM_HUGETLB_PAGES
>
> I'll leave that up to Dmitry to decide what to do here. At least it
> won't be possible to compile old strace versions with new kernel
> headers if the kernel change gets merged upstream.
>

It escapes me why strace bootstrap needs to tabulate these sysctl_vm, as no one
of these defs are referenced in the rest of the code, let alone
/proc/sys/vm/nr_pdflush_threads that means nothing since per-BDI flusher threads
were introduced almost 10 years ago.

Cheers,
-- Rafael