2015-04-19 04:34:39 +08:00
|
|
|
# Some of the tools (perf) use same make variables
|
|
|
|
# as in kernel build.
|
|
|
|
export srctree=
|
|
|
|
export objtree=
|
|
|
|
|
2012-04-12 00:36:16 +08:00
|
|
|
include scripts/Makefile.include
|
|
|
|
|
2012-04-12 00:36:17 +08:00
|
|
|
help:
|
|
|
|
@echo 'Possible targets:'
|
|
|
|
@echo ''
|
2014-01-15 12:04:17 +08:00
|
|
|
@echo ' acpi - ACPI tools'
|
2013-01-05 05:05:17 +08:00
|
|
|
@echo ' cgroup - cgroup tools'
|
2012-04-12 00:36:17 +08:00
|
|
|
@echo ' cpupower - a tool for all things x86 CPU power'
|
|
|
|
@echo ' firewire - the userspace part of nosy, an IEEE-1394 traffic sniffer'
|
2014-02-09 19:41:52 +08:00
|
|
|
@echo ' hv - tools used when in Hyper-V clients'
|
2015-03-29 03:43:08 +08:00
|
|
|
@echo ' iio - IIO tools'
|
2012-04-12 00:36:17 +08:00
|
|
|
@echo ' lguest - a minimal 32-bit x86 hypervisor'
|
|
|
|
@echo ' perf - Linux performance measurement and analysis tool'
|
|
|
|
@echo ' selftests - various kernel selftests'
|
|
|
|
@echo ' turbostat - Intel CPU idle stats and freq reporting tool'
|
|
|
|
@echo ' usb - USB testing tools'
|
|
|
|
@echo ' virtio - vhost test module'
|
filter: add minimal BPF JIT image disassembler
This is a minimal stand-alone user space helper, that allows for debugging or
verification of emitted BPF JIT images. This is in particular useful for
emitted opcode debugging, since minor bugs in the JIT compiler can be fatal.
The disassembler is architecture generic and uses libopcodes and libbfd.
How to get to the disassembly, example:
1) `echo 2 > /proc/sys/net/core/bpf_jit_enable`
2) Load a BPF filter (e.g. `tcpdump -p -n -s 0 -i eth1 host 192.168.20.0/24`)
3) Run e.g. `bpf_jit_disasm -o` to disassemble the most recent JIT code output
`bpf_jit_disasm -o` will display the related opcodes to a particular instruction
as well. Example for x86_64:
$ ./bpf_jit_disasm
94 bytes emitted from JIT compiler (pass:3, flen:9)
ffffffffa0356000 + <x>:
0: push %rbp
1: mov %rsp,%rbp
4: sub $0x60,%rsp
8: mov %rbx,-0x8(%rbp)
c: mov 0x68(%rdi),%r9d
10: sub 0x6c(%rdi),%r9d
14: mov 0xe0(%rdi),%r8
1b: mov $0xc,%esi
20: callq 0xffffffffe0d01b71
25: cmp $0x86dd,%eax
2a: jne 0x000000000000003d
2c: mov $0x14,%esi
31: callq 0xffffffffe0d01b8d
36: cmp $0x6,%eax
[...]
5c: leaveq
5d: retq
$ ./bpf_jit_disasm -o
94 bytes emitted from JIT compiler (pass:3, flen:9)
ffffffffa0356000 + <x>:
0: push %rbp
55
1: mov %rsp,%rbp
48 89 e5
4: sub $0x60,%rsp
48 83 ec 60
8: mov %rbx,-0x8(%rbp)
48 89 5d f8
c: mov 0x68(%rdi),%r9d
44 8b 4f 68
10: sub 0x6c(%rdi),%r9d
44 2b 4f 6c
[...]
5c: leaveq
c9
5d: retq
c3
Signed-off-by: Daniel Borkmann <dborkman@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-03-20 20:11:47 +08:00
|
|
|
@echo ' net - misc networking tools'
|
2012-04-12 00:36:17 +08:00
|
|
|
@echo ' vm - misc vm tools'
|
|
|
|
@echo ' x86_energy_perf_policy - Intel energy policy tool'
|
tools/thermal: Introduce tmon, a tool for thermal subsystem
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.
As hardware vendors cope with the thermal constraints on their products,
more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.
To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.
TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-10-15 07:02:27 +08:00
|
|
|
@echo ' tmon - thermal monitoring and tuning tool'
|
2015-06-06 21:42:28 +08:00
|
|
|
@echo ' freefall - laptop accelerometer program for disk protection'
|
2012-04-12 00:36:17 +08:00
|
|
|
@echo ''
|
2012-04-12 00:36:18 +08:00
|
|
|
@echo 'You can do:'
|
2013-01-29 18:48:11 +08:00
|
|
|
@echo ' $$ make -C tools/ <tool>_install'
|
2012-04-12 00:36:18 +08:00
|
|
|
@echo ''
|
|
|
|
@echo ' from the kernel command line to build and install one of'
|
|
|
|
@echo ' the tools above'
|
|
|
|
@echo ''
|
2015-11-12 06:25:34 +08:00
|
|
|
@echo ' $$ make tools/all'
|
|
|
|
@echo ''
|
|
|
|
@echo ' builds all tools.'
|
|
|
|
@echo ''
|
2012-04-12 00:36:18 +08:00
|
|
|
@echo ' $$ make tools/install'
|
|
|
|
@echo ''
|
|
|
|
@echo ' installs all tools.'
|
|
|
|
@echo ''
|
2012-04-12 00:36:17 +08:00
|
|
|
@echo 'Cleaning targets:'
|
|
|
|
@echo ''
|
|
|
|
@echo ' all of the above with the "_clean" string appended cleans'
|
|
|
|
@echo ' the respective build directory.'
|
|
|
|
@echo ' clean: a summary clean target to clean _all_ folders'
|
|
|
|
|
2014-01-15 12:04:17 +08:00
|
|
|
acpi: FORCE
|
|
|
|
$(call descend,power/$@)
|
|
|
|
|
2012-04-12 00:36:16 +08:00
|
|
|
cpupower: FORCE
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/$@)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
2015-03-29 03:43:08 +08:00
|
|
|
cgroup firewire hv guest usb virtio vm net iio: FORCE
|
2013-02-20 23:32:30 +08:00
|
|
|
$(call descend,$@)
|
|
|
|
|
2014-05-09 01:34:01 +08:00
|
|
|
liblockdep: FORCE
|
|
|
|
$(call descend,lib/lockdep)
|
|
|
|
|
2015-04-19 04:34:38 +08:00
|
|
|
libapi: FORCE
|
2013-12-10 00:14:23 +08:00
|
|
|
$(call descend,lib/api)
|
2013-02-20 23:32:30 +08:00
|
|
|
|
2015-04-19 04:34:39 +08:00
|
|
|
# The perf build does not follow the descend function setup,
|
|
|
|
# invoking it via it's own make rule.
|
|
|
|
PERF_O = $(if $(O),$(O)/tools/perf,)
|
|
|
|
|
2015-04-19 04:34:38 +08:00
|
|
|
perf: FORCE
|
2015-04-19 04:34:39 +08:00
|
|
|
$(Q)mkdir -p $(PERF_O) .
|
|
|
|
$(Q)$(MAKE) --no-print-directory -C perf O=$(PERF_O) subdir=
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
selftests: FORCE
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,testing/$@)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
turbostat x86_energy_perf_policy: FORCE
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/x86/$@)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
tools/thermal: Introduce tmon, a tool for thermal subsystem
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.
As hardware vendors cope with the thermal constraints on their products,
more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.
To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.
TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-10-15 07:02:27 +08:00
|
|
|
tmon: FORCE
|
|
|
|
$(call descend,thermal/$@)
|
|
|
|
|
2015-06-06 21:42:28 +08:00
|
|
|
freefall: FORCE
|
|
|
|
$(call descend,laptop/$@)
|
|
|
|
|
2015-11-12 06:25:34 +08:00
|
|
|
all: acpi cgroup cpupower hv firewire lguest \
|
|
|
|
perf selftests turbostat usb \
|
|
|
|
virtio vm net x86_energy_perf_policy \
|
|
|
|
tmon freefall
|
|
|
|
|
2014-01-15 12:04:17 +08:00
|
|
|
acpi_install:
|
|
|
|
$(call descend,power/$(@:_install=),install)
|
|
|
|
|
2012-04-12 00:36:16 +08:00
|
|
|
cpupower_install:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/$(@:_install=),install)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
2014-02-09 19:41:52 +08:00
|
|
|
cgroup_install firewire_install hv_install lguest_install perf_install usb_install virtio_install vm_install net_install:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,$(@:_install=),install)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
selftests_install:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,testing/$(@:_clean=),install)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
turbostat_install x86_energy_perf_policy_install:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/x86/$(@:_install=),install)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
tools/thermal: Introduce tmon, a tool for thermal subsystem
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.
As hardware vendors cope with the thermal constraints on their products,
more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.
To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.
TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-10-15 07:02:27 +08:00
|
|
|
tmon_install:
|
|
|
|
$(call descend,thermal/$(@:_install=),install)
|
|
|
|
|
2015-06-06 21:42:28 +08:00
|
|
|
freefall_install:
|
|
|
|
$(call descend,laptop/$(@:_install=),install)
|
|
|
|
|
2014-02-09 19:41:52 +08:00
|
|
|
install: acpi_install cgroup_install cpupower_install hv_install firewire_install lguest_install \
|
2013-01-05 05:05:17 +08:00
|
|
|
perf_install selftests_install turbostat_install usb_install \
|
tools/thermal: Introduce tmon, a tool for thermal subsystem
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.
As hardware vendors cope with the thermal constraints on their products,
more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.
To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.
TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-10-15 07:02:27 +08:00
|
|
|
virtio_install vm_install net_install x86_energy_perf_policy_install \
|
2015-11-12 06:25:33 +08:00
|
|
|
tmon_install freefall_install
|
2012-04-12 00:36:16 +08:00
|
|
|
|
2014-01-15 12:04:17 +08:00
|
|
|
acpi_clean:
|
|
|
|
$(call descend,power/acpi,clean)
|
|
|
|
|
2012-04-12 00:36:16 +08:00
|
|
|
cpupower_clean:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/cpupower,clean)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
2015-03-29 03:43:08 +08:00
|
|
|
cgroup_clean hv_clean firewire_clean lguest_clean usb_clean virtio_clean vm_clean net_clean iio_clean:
|
2013-02-20 23:32:30 +08:00
|
|
|
$(call descend,$(@:_clean=),clean)
|
|
|
|
|
2014-05-09 01:34:01 +08:00
|
|
|
liblockdep_clean:
|
|
|
|
$(call descend,lib/lockdep,clean)
|
|
|
|
|
2015-04-19 04:34:38 +08:00
|
|
|
libapi_clean:
|
2013-12-10 00:14:23 +08:00
|
|
|
$(call descend,lib/api,clean)
|
2013-02-20 23:32:30 +08:00
|
|
|
|
2015-04-19 04:34:38 +08:00
|
|
|
perf_clean:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,$(@:_clean=),clean)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
selftests_clean:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,testing/$(@:_clean=),clean)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
turbostat_clean x86_energy_perf_policy_clean:
|
2012-11-05 23:15:24 +08:00
|
|
|
$(call descend,power/x86/$(@:_clean=),clean)
|
2012-04-12 00:36:16 +08:00
|
|
|
|
tools/thermal: Introduce tmon, a tool for thermal subsystem
Increasingly, Linux is running on thermally constrained devices. The simple
thermal relationship between processor and fan has become past for modern
computers.
As hardware vendors cope with the thermal constraints on their products,
more sensors are added, new cooling capabilities are introduced. The
complexity of the thermal relationship can grow exponentially among cooling
devices, zones, sensors, and trip points. They can also change dynamically.
To expose such relationship to the userspace, Linux generic thermal layer
introduced sysfs entry at /sys/class/thermal with a matrix of symbolic
links, trip point bindings, and device instances. To traverse such
matrix by hand is not a trivial task. Testing is also difficult in that
thermal conditions are often exception cases that hard to reach in
normal operations.
TMON is conceived as a tool to help visualize, tune, and test the
complex thermal subsystem.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
2013-10-15 07:02:27 +08:00
|
|
|
tmon_clean:
|
|
|
|
$(call descend,thermal/tmon,clean)
|
|
|
|
|
2015-06-06 21:42:28 +08:00
|
|
|
freefall_clean:
|
|
|
|
$(call descend,laptop/freefall,clean)
|
|
|
|
|
2014-02-09 19:41:52 +08:00
|
|
|
clean: acpi_clean cgroup_clean cpupower_clean hv_clean firewire_clean lguest_clean \
|
2014-01-15 12:04:17 +08:00
|
|
|
perf_clean selftests_clean turbostat_clean usb_clean virtio_clean \
|
Staging driver patches for 4.2-rc1
Here's the big, really big, staging tree patches for 4.2-rc1.
Loads of stuff in here, almost all just coding style fixes / churn, and
a few new drivers as well, one of which I just disabled from the build a
few minutes ago due to way too many build warnings.
Other than the one "disable this driver" patch, all of these have been
in linux-next for quite a while with no reported issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iEYEABECAAYFAlWNpc0ACgkQMUfUDdst+ym8EgCg0pL1Qcf9Se3jAc96fLt+itpv
Rd0AoI9uJcq8Qm7d+IXnz3ojLnN9xvN3
=xt0u
-----END PGP SIGNATURE-----
Merge tag 'staging-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging
Pull staging driver updates from Greg KH:
"Here's the big, really big, staging tree patches for 4.2-rc1.
Loads of stuff in here, almost all just coding style fixes / churn,
and a few new drivers as well, one of which I just disabled from the
build a few minutes ago due to way too many build warnings.
Other than the one "disable this driver" patch, all of these have been
in linux-next for quite a while with no reported issues"
* tag 'staging-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1163 commits)
staging: wilc1000: disable driver due to build warnings
Staging: rts5208: fix CHANGE_LINK_STATE value
Staging: sm750fb: ddk750_swi2c.c: Insert spaces before parenthesis
Staging: sm750fb: ddk750_swi2c.c: Place braces on correct lines
Staging: sm750fb: ddk750_swi2c.c: Insert spaces around operators
Staging: sm750fb: ddk750_swi2c.c: Replace spaces with tabs
Staging: sm750fb: ddk750_swi2c.h: Shorten lines to under 80 characters
Staging: sm750fb: ddk750_swi2c.h: Replace spaces with tabs
Staging: sm750fb: modedb.h: Shorten lines to under 80 characters
Staging: sm750fb: modedb.h: Replace spaces with tabs
staging: comedi: addi_apci_3120: rename 'this_board' variables
staging: comedi: addi_apci_1516: rename 'this_board' variables
staging: comedi: ni_atmio: cleanup ni_getboardtype()
staging: comedi: vmk80xx: sanity check context used to get the boardinfo
staging: comedi: vmk80xx: rename 'boardinfo' variables
staging: comedi: dt3000: rename 'this_board' variables
staging: comedi: adv_pci_dio: rename 'this_board' variables
staging: comedi: cb_pcidas64: rename 'thisboard' variables
staging: comedi: cb_pcidas: rename 'thisboard' variables
staging: comedi: me4000: rename 'thisboard' variables
...
2015-06-27 06:46:08 +08:00
|
|
|
vm_clean net_clean iio_clean x86_energy_perf_policy_clean tmon_clean \
|
|
|
|
freefall_clean
|
2012-04-12 00:36:16 +08:00
|
|
|
|
|
|
|
.PHONY: FORCE
|