systemtap module compilation fails due to `__GFP_REPEAT` undeclared
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemtap (Ubuntu) |
Fix Released
|
Medium
|
TJ |
Bug Description
I'm using Ubuntu 17.10, running kernel 4.13.0-38-generic and using systemtap version 3.1-3. I'm trying to run the following systemtap script from here: https:/
````
#! /usr/bin/env stap
global slabs
probe vm.kmem_cache_alloc {
slabs [execname(), bytes_req]<<<1
}
probe timer.ms(10000)
{
dummy = "";
foreach ([name, bytes] in slabs) {
if (dummy != name)
}
delete slabs
}
````
however, compilation fails due to `__GFP_REPEAT` being undefined:
````
# stap -v ./vm.tracepoint
Pass 1: parsed user script and 465 library scripts using 119732virt/
Pass 2: analyzed script: 2 probes, 2 functions, 5 embeds, 1 global using 123960virt/
Pass 3: translated to C into "/tmp/stapjX0WQ
/tmp/stapjX0WQQ
/tmp/stapjX0WQQ
__GFP_
^
/tmp/stapjX0WQQ
#define __GFP_BITMASKS(
/tmp/stapjX0WQQ
__GFP_
^
/tmp/stapjX0WQQ
#define __GFP_BITMASKS(
scripts/
make[1]: *** [/tmp/stapjX0WQ
Makefile:1550: recipe for target '_module_
make: *** [_module_
WARNING: kbuild exited with status: 2
Pass 4: compiled C into "stap_2b5505ba8
Pass 4: compilation failed. [man error::pass4]
Tip: /usr/share/
````
Changed in systemtap (Ubuntu): | |
status: | New → In Progress |
assignee: | nobody → TJ (tj) |
importance: | Undecided → Medium |
Changed in systemtap (Ubuntu): | |
status: | Fix Committed → Fix Released |
stap 3.2 includes this fix:
commit 73e0af29bb4c1ed c1d6e22405ce404 dd10569afd
Author: David Smith <email address hidden>
Date: Tue Jul 25 16:09:42 2017 -0500
Updated tapset/ linux/memory. stp for rawhide kernels.
* tapset/ linux/memory. stp (__gfp_flag_str): Updated for rawhide kernels
with the current list of flags.