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

Rafael Aquini
2018-12-07T10:53:13Z

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.
>
> This:
>
> --- a/include/uapi/linux/sysctl.h
> +++ b/include/uapi/linux/sysctl.h
> [...]
> - VM_NR_PDFLUSH_THREADS=15, /* nr_pdflush_threads */
> + VM_UNUSED15=15, /* was: int: nr_pdflush_threads */
>
> causes this when trying to build strace:
>
> + ./bootstrap
> configure.ac:54: installing './compile'
> configure.ac:47: installing './config.guess'
> configure.ac:47: installing './config.sub'
> configure.ac:45: installing './install-sh'
> configure.ac:45: installing './missing'
> Makefile.am: installing './depcomp'
> Makefile.am:975: warning: variable 'ioctlsort_LDFLAGS' is defined but no program or
> Makefile.am:975: library has 'ioctlsort' as canonical name (possible typo)
> parallel-tests: installing './test-driver'
> + ./configure
> ++ nproc
> + make -j 10
> In file included from defs.h:308,
> from sysctl.c:31:
> xlat/sysctl_vm.h:23:7: error: ‘VM_NR_PDFLUSH_THREADS’ undeclared here (not in a function)
> XLAT(VM_NR_PDFLUSH_THREADS),
> ^~~~~~~~~~~~~~~~~~~~~
> xlat.h:49:35: note: in definition of macro ‘XLAT’
> # define XLAT(val) { (unsigned)(val), #val }
> ^~~
>

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

--
Strace-devel mailing list
Strace-devel@lists.strace.io