# # This is a simple wrapper Makefile that calls the main Makefile.perf # with a -j option to do parallel builds # # If you want to invoke the perf build in some non-standard way then # you can use the 'make -f Makefile.perf' method to invoke it. # # # Clear out the built-in rules GNU make defines by default (such as .o targets), # so that we pass through all targets to Makefile.perf: # .SUFFIXES: # # We don't want to pass along options like -j: # unexport MAKEFLAGS # # Do a parallel build with multiple jobs, based on the number of CPUs online # in this system: 'make -j8' on a 8-CPU system, etc. # # (To override it, run 'make JOBS=1' and similar.) # ifeq ($(JOBS),) JOBS := $(shell (getconf _NPROCESSORS_ONLN || egrep -c '^processor|^CPU[0-9]' /proc/cpuinfo) 2>/dev/null) ifeq ($(JOBS),0) JOBS := 1 endif endif # # Only pass canonical directory names as the output directory: # ifneq ($(O),) FULL_O := $(shell readlink -f $(O) || echo $(O)) endif # # Only accept the 'DEBUG' variable from the command line: # ifeq ("$(origin DEBUG)", "command line") ifeq ($(DEBUG),) override DEBUG = 0 else SET_DEBUG = "DEBUG=$(DEBUG)" endif else override DEBUG = 0 endif define print_msg @printf ' BUILD: Doing '\''make \033[33m-j'$(JOBS)'\033[m'\'' parallel build\n' endef define make @$(MAKE) -f Makefile.perf --no-print-directory -j$(JOBS) O=$(FULL_O) $(SET_DEBUG) $@ endef # # Needed if no target specified: # (Except for tags and TAGS targets. The reason is that the # Makefile does not treat tags/TAGS as targets but as files # and thus won't rebuilt them once they are in place.) # all tags TAGS: $(print_msg) $(make) ifdef MAKECMDGOALS has_clean := 0 ifneq ($(filter clean,$(MAKECMDGOALS)),) has_clean := 1 endif # clean ifeq ($(has_clean),1) rest := $(filter-out clean,$(MAKECMDGOALS)) ifneq ($(rest),) $(rest): clean endif # rest endif # has_clean endif # MAKECMDGOALS # # The clean target is not really parallel, don't print the jobs info: # clean: $(make) # # The build-test target is not really parallel, don't print the jobs info, # it also uses only the tests/make targets that don't pollute the source # repository, i.e. that uses O= or builds the tarpkg outside the source # repo directories. # # For a full test, use: # # make -C tools/perf -f tests/make # build-test: @$(MAKE) SHUF=1 -f tests/make REUSE_FEATURES_DUMP=1 MK=Makefile SET_PARALLEL=1 --no-print-directory tarpkg out # # All other targets get passed through: # %: FORCE $(print_msg) $(make) .PHONY: tags TAGS FORCE Makefile g msg
path: root/net/9p/trans_common.h
'>
AgeCommit message (Expand)AuthorFilesLines
space:
mode:
authorSteven Rostedt (VMware) <rostedt@goodmis.org>2017-01-30 19:27:10 -0500
committerSteven Rostedt (VMware) <rostedt@goodmis.org>2017-01-31 09:13:49 -0500
commit79c6f448c8b79c321e4a1f31f98194e4f6b6cae7 (patch)
tree370efda701f03cccf21e02bb1fdd3b852547d75c /sound/soc/intel/atom/sst-mfld-dsp.h
parent0c744ea4f77d72b3dcebb7a8f2684633ec79be88 (diff)
tracing: Fix hwlat kthread migration
The hwlat tracer creates a kernel thread at start of the tracer. It is pinned to a single CPU and will move to the next CPU after each period of running. If the user modifies the migration thread's affinity, it will not change after that happens. The original code created the thread at the first instance it was called, but later was changed to destroy the thread after the tracer was finished, and would not be created until the next instance of the tracer was established. The code that initialized the affinity was only called on the initial instantiation of the tracer. After that, it was not initialized, and the previous affinity did not match the current newly created one, making it appear that the user modified the thread's affinity when it did not, and the thread failed to migrate again. Cc: stable@vger.kernel.org Fixes: 0330f7aa8ee6 ("tracing: Have hwlat trace migrate across tracing_cpumask CPUs") Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Diffstat (limited to 'sound/soc/intel/atom/sst-mfld-dsp.h')