https://github.com/torvalds/linux
Revision eeac7730418563152b0e3172bce9bac4ff6d6bc4 authored by Ian Rogers on 12 August 2022, 23:09:41 UTC, committed by Arnaldo Carvalho de Melo on 13 August 2022, 18:00:32 UTC
Preparation for hiding pmu_events_map as an implementation detail. While
the map is passed, the table of events is all that is normally wanted.

While modifying the function's types, rename pmu_events_map__find to
pmu_events_table__find to match later encapsulation. Similarly rename
pmu_add_cpu_aliases_map to pmu_add_cpu_aliases_table.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Andi Kleen <ak@linux.intel.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@arm.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.garry@huawei.com>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Leo Yan <leo.yan@linaro.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Mike Leach <mike.leach@linaro.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Ravi Bangoria <ravi.bangoria@amd.com>
Cc: Stephane Eranian <eranian@google.com>
Cc: Will Deacon <will@kernel.org>
Cc: Xing Zhengjun <zhengjun.xing@linux.intel.com>
Cc: linux-arm-kernel@lists.infradead.org
Link: https://lore.kernel.org/r/20220812230949.683239-7-irogers@google.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
1 parent 2519db2
Raw File
Tip revision: eeac7730418563152b0e3172bce9bac4ff6d6bc4 authored by Ian Rogers on 12 August 2022, 23:09:41 UTC
perf pmu-events: Avoid passing pmu_events_map
Tip revision: eeac773
gfp-translate
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0-only
# Translate the bits making up a GFP mask
# (c) 2009, Mel Gorman <mel@csn.ul.ie>
SOURCE=
GFPMASK=none

# Helper function to report failures and exit
die() {
	echo ERROR: $@
	if [ "$TMPFILE" != "" ]; then
		rm -f $TMPFILE
	fi
	exit -1
}

usage() {
	echo "usage: gfp-translate [-h] [ --source DIRECTORY ] gfpmask"
	exit 0
}

# Parse command-line arguments
while [ $# -gt 0 ]; do
	case $1 in
		--source)
			SOURCE=$2
			shift 2
			;;
		-h)
			usage
			;;
		--help)
			usage
			;;
		*)
			GFPMASK=$1
			shift
			;;
	esac
done

# Guess the kernel source directory if it's not set. Preference is in order of
# o current directory
# o /usr/src/linux
if [ "$SOURCE" = "" ]; then
	if [ -r "/usr/src/linux/Makefile" ]; then
		SOURCE=/usr/src/linux
	fi
	if [ -r "`pwd`/Makefile" ]; then
		SOURCE=`pwd`
	fi
fi

# Confirm that a source directory exists
if [ ! -r "$SOURCE/Makefile" ]; then
	die "Could not locate kernel source directory or it is invalid"
fi

# Confirm that a GFP mask has been specified
if [ "$GFPMASK" = "none" ]; then
	usage
fi

# Extract GFP flags from the kernel source
TMPFILE=`mktemp -t gfptranslate-XXXXXX` || exit 1
grep -q ___GFP $SOURCE/include/linux/gfp.h
if [ $? -eq 0 ]; then
	grep "^#define ___GFP" $SOURCE/include/linux/gfp.h | sed -e 's/u$//' | grep -v GFP_BITS > $TMPFILE
else
	grep "^#define __GFP" $SOURCE/include/linux/gfp.h | sed -e 's/(__force gfp_t)//' | sed -e 's/u)/)/' | grep -v GFP_BITS | sed -e 's/)\//) \//' > $TMPFILE
fi

# Parse the flags
IFS="
"
echo Source: $SOURCE
echo Parsing: $GFPMASK
for LINE in `cat $TMPFILE`; do
	MASK=`echo $LINE | awk '{print $3}'`
	if [ $(($GFPMASK&$MASK)) -ne 0 ]; then
		echo $LINE
	fi
done

rm -f $TMPFILE
exit 0
back to top