All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Robin Murphy <robin.murphy@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Will Deacon <will@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, x86@kernel.org,
	linux-perf-users@vger.kernel.org, jialong.yang@shingroup.cn
Subject: Re: [PATCH 04/10] perf: Rename PERF_PMU_CAP_NO_INTERRUPT
Date: Wed, 13 Mar 2024 23:44:06 +0800	[thread overview]
Message-ID: <202403132349.Ph0CYSV2-lkp@intel.com> (raw)
In-Reply-To: <0999a39f0a068979dbcc6119380f63d706101b4f.1710257512.git.robin.murphy@arm.com>

Hi Robin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on perf-tools-next/perf-tools-next]
[also build test WARNING on perf-tools/perf-tools linus/master v6.8 next-20240313]
[cannot apply to acme/perf/core tip/perf/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Robin-Murphy/perf-alibaba_uncore_drw-Use-correct-CPU-affinity/20240313-013915
base:   https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
patch link:    https://lore.kernel.org/r/0999a39f0a068979dbcc6119380f63d706101b4f.1710257512.git.robin.murphy%40arm.com
patch subject: [PATCH 04/10] perf: Rename PERF_PMU_CAP_NO_INTERRUPT
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240313/202403132349.Ph0CYSV2-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240313/202403132349.Ph0CYSV2-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403132349.Ph0CYSV2-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/powerpc/perf/hv-24x7.c: In function 'hv_24x7_init':
   arch/powerpc/perf/hv-24x7.c:1742:9: error: expected ';' before 'r'
    1742 |         r = create_events_from_catalog(&event_group.attrs,
         |         ^
   arch/powerpc/perf/hv-24x7.c: At top level:
>> arch/powerpc/perf/hv-24x7.c:764:12: warning: 'create_events_from_catalog' defined but not used [-Wunused-function]
     764 | static int create_events_from_catalog(struct attribute ***events_,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/create_events_from_catalog +764 arch/powerpc/perf/hv-24x7.c

5c5cd7b502595f Cody P Schafer        2015-01-30   763  
7debc970ae7a55 Li Zhong              2015-04-13  @764  static int create_events_from_catalog(struct attribute ***events_,
5c5cd7b502595f Cody P Schafer        2015-01-30   765  				      struct attribute ***event_descs_,
5c5cd7b502595f Cody P Schafer        2015-01-30   766  				      struct attribute ***event_long_descs_)
5c5cd7b502595f Cody P Schafer        2015-01-30   767  {
38d81846106bb1 Thiago Jung Bauermann 2017-06-29   768  	long hret;
5c5cd7b502595f Cody P Schafer        2015-01-30   769  	size_t catalog_len, catalog_page_len, event_entry_count,
5c5cd7b502595f Cody P Schafer        2015-01-30   770  	       event_data_len, event_data_offs,
5c5cd7b502595f Cody P Schafer        2015-01-30   771  	       event_data_bytes, junk_events, event_idx, event_attr_ct, i,
5c5cd7b502595f Cody P Schafer        2015-01-30   772  	       attr_max, event_idx_last, desc_ct, long_desc_ct;
5c5cd7b502595f Cody P Schafer        2015-01-30   773  	ssize_t ct, ev_len;
12bf85a71000af Thiago Jung Bauermann 2017-06-29   774  	uint64_t catalog_version_num;
5c5cd7b502595f Cody P Schafer        2015-01-30   775  	struct attribute **events, **event_descs, **event_long_descs;
5c5cd7b502595f Cody P Schafer        2015-01-30   776  	struct hv_24x7_catalog_page_0 *page_0 =
5c5cd7b502595f Cody P Schafer        2015-01-30   777  		kmem_cache_alloc(hv_page_cache, GFP_KERNEL);
5c5cd7b502595f Cody P Schafer        2015-01-30   778  	void *page = page_0;
5c5cd7b502595f Cody P Schafer        2015-01-30   779  	void *event_data, *end;
5c5cd7b502595f Cody P Schafer        2015-01-30   780  	struct hv_24x7_event_data *event;
5c5cd7b502595f Cody P Schafer        2015-01-30   781  	struct rb_root ev_uniq = RB_ROOT;
7debc970ae7a55 Li Zhong              2015-04-13   782  	int ret = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   783  
7debc970ae7a55 Li Zhong              2015-04-13   784  	if (!page) {
7debc970ae7a55 Li Zhong              2015-04-13   785  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   786  		goto e_out;
7debc970ae7a55 Li Zhong              2015-04-13   787  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   788  
5c5cd7b502595f Cody P Schafer        2015-01-30   789  	hret = h_get_24x7_catalog_page(page, 0, 0);
7debc970ae7a55 Li Zhong              2015-04-13   790  	if (hret) {
7debc970ae7a55 Li Zhong              2015-04-13   791  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   792  		goto e_free;
7debc970ae7a55 Li Zhong              2015-04-13   793  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   794  
5c5cd7b502595f Cody P Schafer        2015-01-30   795  	catalog_version_num = be64_to_cpu(page_0->version);
5c5cd7b502595f Cody P Schafer        2015-01-30   796  	catalog_page_len = be32_to_cpu(page_0->length);
5c5cd7b502595f Cody P Schafer        2015-01-30   797  
5c5cd7b502595f Cody P Schafer        2015-01-30   798  	if (MAX_4K < catalog_page_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   799  		pr_err("invalid page count: %zu\n", catalog_page_len);
7debc970ae7a55 Li Zhong              2015-04-13   800  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   801  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   802  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   803  
5c5cd7b502595f Cody P Schafer        2015-01-30   804  	catalog_len = catalog_page_len * 4096;
5c5cd7b502595f Cody P Schafer        2015-01-30   805  
5c5cd7b502595f Cody P Schafer        2015-01-30   806  	event_entry_count = be16_to_cpu(page_0->event_entry_count);
5c5cd7b502595f Cody P Schafer        2015-01-30   807  	event_data_offs   = be16_to_cpu(page_0->event_data_offs);
5c5cd7b502595f Cody P Schafer        2015-01-30   808  	event_data_len    = be16_to_cpu(page_0->event_data_len);
5c5cd7b502595f Cody P Schafer        2015-01-30   809  
12bf85a71000af Thiago Jung Bauermann 2017-06-29   810  	pr_devel("cv %llu cl %zu eec %zu edo %zu edl %zu\n",
12bf85a71000af Thiago Jung Bauermann 2017-06-29   811  			catalog_version_num, catalog_len,
5c5cd7b502595f Cody P Schafer        2015-01-30   812  			event_entry_count, event_data_offs, event_data_len);
5c5cd7b502595f Cody P Schafer        2015-01-30   813  
5c5cd7b502595f Cody P Schafer        2015-01-30   814  	if ((MAX_4K < event_data_len)
5c5cd7b502595f Cody P Schafer        2015-01-30   815  			|| (MAX_4K < event_data_offs)
5c5cd7b502595f Cody P Schafer        2015-01-30   816  			|| (MAX_4K - event_data_offs < event_data_len)) {
5c5cd7b502595f Cody P Schafer        2015-01-30   817  		pr_err("invalid event data offs %zu and/or len %zu\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   818  				event_data_offs, event_data_len);
7debc970ae7a55 Li Zhong              2015-04-13   819  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   820  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   821  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   822  
5c5cd7b502595f Cody P Schafer        2015-01-30   823  	if ((event_data_offs + event_data_len) > catalog_page_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   824  		pr_err("event data %zu-%zu does not fit inside catalog 0-%zu\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   825  				event_data_offs,
5c5cd7b502595f Cody P Schafer        2015-01-30   826  				event_data_offs + event_data_len,
5c5cd7b502595f Cody P Schafer        2015-01-30   827  				catalog_page_len);
7debc970ae7a55 Li Zhong              2015-04-13   828  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   829  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   830  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   831  
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   832  	if (SIZE_MAX - 1 < event_entry_count) {
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   833  		pr_err("event_entry_count %zu is invalid\n", event_entry_count);
7debc970ae7a55 Li Zhong              2015-04-13   834  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   835  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   836  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   837  
5c5cd7b502595f Cody P Schafer        2015-01-30   838  	event_data_bytes = event_data_len * 4096;
5c5cd7b502595f Cody P Schafer        2015-01-30   839  
5c5cd7b502595f Cody P Schafer        2015-01-30   840  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   841  	 * event data can span several pages, events can cross between these
5c5cd7b502595f Cody P Schafer        2015-01-30   842  	 * pages. Use vmalloc to make this easier.
5c5cd7b502595f Cody P Schafer        2015-01-30   843  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   844  	event_data = vmalloc(event_data_bytes);
5c5cd7b502595f Cody P Schafer        2015-01-30   845  	if (!event_data) {
5c5cd7b502595f Cody P Schafer        2015-01-30   846  		pr_err("could not allocate event data\n");
7debc970ae7a55 Li Zhong              2015-04-13   847  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   848  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   849  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   850  
5c5cd7b502595f Cody P Schafer        2015-01-30   851  	end = event_data + event_data_bytes;
5c5cd7b502595f Cody P Schafer        2015-01-30   852  
5c5cd7b502595f Cody P Schafer        2015-01-30   853  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   854  	 * using vmalloc_to_phys() like this only works if PAGE_SIZE is
5c5cd7b502595f Cody P Schafer        2015-01-30   855  	 * divisible by 4096
5c5cd7b502595f Cody P Schafer        2015-01-30   856  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   857  	BUILD_BUG_ON(PAGE_SIZE % 4096);
5c5cd7b502595f Cody P Schafer        2015-01-30   858  
5c5cd7b502595f Cody P Schafer        2015-01-30   859  	for (i = 0; i < event_data_len; i++) {
5c5cd7b502595f Cody P Schafer        2015-01-30   860  		hret = h_get_24x7_catalog_page_(
5c5cd7b502595f Cody P Schafer        2015-01-30   861  				vmalloc_to_phys(event_data + i * 4096),
5c5cd7b502595f Cody P Schafer        2015-01-30   862  				catalog_version_num,
5c5cd7b502595f Cody P Schafer        2015-01-30   863  				i + event_data_offs);
5c5cd7b502595f Cody P Schafer        2015-01-30   864  		if (hret) {
12bf85a71000af Thiago Jung Bauermann 2017-06-29   865  			pr_err("Failed to get event data in page %zu: rc=%ld\n",
12bf85a71000af Thiago Jung Bauermann 2017-06-29   866  			       i + event_data_offs, hret);
7debc970ae7a55 Li Zhong              2015-04-13   867  			ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   868  			goto e_event_data;
5c5cd7b502595f Cody P Schafer        2015-01-30   869  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   870  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   871  
5c5cd7b502595f Cody P Schafer        2015-01-30   872  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   873  	 * scan the catalog to determine the number of attributes we need, and
5c5cd7b502595f Cody P Schafer        2015-01-30   874  	 * verify it at the same time.
5c5cd7b502595f Cody P Schafer        2015-01-30   875  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   876  	for (junk_events = 0, event = event_data, event_idx = 0, attr_max = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   877  	     ;
5c5cd7b502595f Cody P Schafer        2015-01-30   878  	     event_idx++, event = (void *)event + ev_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   879  		size_t offset = (void *)event - (void *)event_data;
5c5cd7b502595f Cody P Schafer        2015-01-30   880  		char *name;
5c5cd7b502595f Cody P Schafer        2015-01-30   881  		int nl;
5c5cd7b502595f Cody P Schafer        2015-01-30   882  
5c5cd7b502595f Cody P Schafer        2015-01-30   883  		ev_len = catalog_event_len_validate(event, event_idx,
5c5cd7b502595f Cody P Schafer        2015-01-30   884  						    event_data_bytes,
5c5cd7b502595f Cody P Schafer        2015-01-30   885  						    event_entry_count,
5c5cd7b502595f Cody P Schafer        2015-01-30   886  						    offset, end);
5c5cd7b502595f Cody P Schafer        2015-01-30   887  		if (ev_len < 0)
5c5cd7b502595f Cody P Schafer        2015-01-30   888  			break;
5c5cd7b502595f Cody P Schafer        2015-01-30   889  
5c5cd7b502595f Cody P Schafer        2015-01-30   890  		name = event_name(event, &nl);
5c5cd7b502595f Cody P Schafer        2015-01-30   891  
e5f9d8858612c1 Kajol Jain            2020-12-28   892  		if (ignore_event(name)) {
e5f9d8858612c1 Kajol Jain            2020-12-28   893  			junk_events++;
e5f9d8858612c1 Kajol Jain            2020-12-28   894  			continue;
e5f9d8858612c1 Kajol Jain            2020-12-28   895  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   896  		if (event->event_group_record_len == 0) {
5c5cd7b502595f Cody P Schafer        2015-01-30   897  			pr_devel("invalid event %zu (%.*s): group_record_len == 0, skipping\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   898  					event_idx, nl, name);
5c5cd7b502595f Cody P Schafer        2015-01-30   899  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   900  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   901  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   902  
5c5cd7b502595f Cody P Schafer        2015-01-30   903  		if (!catalog_entry_domain_is_valid(event->domain)) {
5c5cd7b502595f Cody P Schafer        2015-01-30   904  			pr_info("event %zu (%.*s) has invalid domain %d\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   905  					event_idx, nl, name, event->domain);
5c5cd7b502595f Cody P Schafer        2015-01-30   906  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   907  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   908  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   909  
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   910  		attr_max++;
5c5cd7b502595f Cody P Schafer        2015-01-30   911  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   912  
5c5cd7b502595f Cody P Schafer        2015-01-30   913  	event_idx_last = event_idx;
5c5cd7b502595f Cody P Schafer        2015-01-30   914  	if (event_idx_last != event_entry_count)
5c5cd7b502595f Cody P Schafer        2015-01-30   915  		pr_warn("event buffer ended before listed # of events were parsed (got %zu, wanted %zu, junk %zu)\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   916  				event_idx_last, event_entry_count, junk_events);
5c5cd7b502595f Cody P Schafer        2015-01-30   917  
5c5cd7b502595f Cody P Schafer        2015-01-30   918  	events = kmalloc_array(attr_max + 1, sizeof(*events), GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   919  	if (!events) {
7debc970ae7a55 Li Zhong              2015-04-13   920  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   921  		goto e_event_data;
7debc970ae7a55 Li Zhong              2015-04-13   922  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   923  
5c5cd7b502595f Cody P Schafer        2015-01-30   924  	event_descs = kmalloc_array(event_idx + 1, sizeof(*event_descs),
5c5cd7b502595f Cody P Schafer        2015-01-30   925  				GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   926  	if (!event_descs) {
7debc970ae7a55 Li Zhong              2015-04-13   927  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   928  		goto e_event_attrs;
7debc970ae7a55 Li Zhong              2015-04-13   929  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   930  
5c5cd7b502595f Cody P Schafer        2015-01-30   931  	event_long_descs = kmalloc_array(event_idx + 1,
5c5cd7b502595f Cody P Schafer        2015-01-30   932  			sizeof(*event_long_descs), GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   933  	if (!event_long_descs) {
7debc970ae7a55 Li Zhong              2015-04-13   934  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   935  		goto e_event_descs;
7debc970ae7a55 Li Zhong              2015-04-13   936  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   937  
5c5cd7b502595f Cody P Schafer        2015-01-30   938  	/* Iterate over the catalog filling in the attribute vector */
5c5cd7b502595f Cody P Schafer        2015-01-30   939  	for (junk_events = 0, event_attr_ct = 0, desc_ct = 0, long_desc_ct = 0,
5c5cd7b502595f Cody P Schafer        2015-01-30   940  				event = event_data, event_idx = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   941  			event_idx < event_idx_last;
5c5cd7b502595f Cody P Schafer        2015-01-30   942  			event_idx++, ev_len = be16_to_cpu(event->length),
5c5cd7b502595f Cody P Schafer        2015-01-30   943  				event = (void *)event + ev_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   944  		char *name;
5c5cd7b502595f Cody P Schafer        2015-01-30   945  		int nl;
5c5cd7b502595f Cody P Schafer        2015-01-30   946  		int nonce;
5c5cd7b502595f Cody P Schafer        2015-01-30   947  		/*
5c5cd7b502595f Cody P Schafer        2015-01-30   948  		 * these are the only "bad" events that are intermixed and that
5c5cd7b502595f Cody P Schafer        2015-01-30   949  		 * we can ignore without issue. make sure to skip them here
5c5cd7b502595f Cody P Schafer        2015-01-30   950  		 */
5c5cd7b502595f Cody P Schafer        2015-01-30   951  		if (event->event_group_record_len == 0)
5c5cd7b502595f Cody P Schafer        2015-01-30   952  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   953  		if (!catalog_entry_domain_is_valid(event->domain))
5c5cd7b502595f Cody P Schafer        2015-01-30   954  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   955  
5c5cd7b502595f Cody P Schafer        2015-01-30   956  		name  = event_name(event, &nl);
e5f9d8858612c1 Kajol Jain            2020-12-28   957  		if (ignore_event(name))
e5f9d8858612c1 Kajol Jain            2020-12-28   958  			continue;
e5f9d8858612c1 Kajol Jain            2020-12-28   959  
5c5cd7b502595f Cody P Schafer        2015-01-30   960  		nonce = event_uniq_add(&ev_uniq, name, nl, event->domain);
5c5cd7b502595f Cody P Schafer        2015-01-30   961  		ct    = event_data_to_attrs(event_idx, events + event_attr_ct,
5c5cd7b502595f Cody P Schafer        2015-01-30   962  					    event, nonce);
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   963  		if (ct < 0) {
5c5cd7b502595f Cody P Schafer        2015-01-30   964  			pr_warn("event %zu (%.*s) creation failure, skipping\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   965  				event_idx, nl, name);
5c5cd7b502595f Cody P Schafer        2015-01-30   966  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   967  		} else {
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   968  			event_attr_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   969  			event_descs[desc_ct] = event_to_desc_attr(event, nonce);
5c5cd7b502595f Cody P Schafer        2015-01-30   970  			if (event_descs[desc_ct])
5c5cd7b502595f Cody P Schafer        2015-01-30   971  				desc_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   972  			event_long_descs[long_desc_ct] =
5c5cd7b502595f Cody P Schafer        2015-01-30   973  					event_to_long_desc_attr(event, nonce);
5c5cd7b502595f Cody P Schafer        2015-01-30   974  			if (event_long_descs[long_desc_ct])
5c5cd7b502595f Cody P Schafer        2015-01-30   975  				long_desc_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   976  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   977  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   978  
5c5cd7b502595f Cody P Schafer        2015-01-30   979  	pr_info("read %zu catalog entries, created %zu event attrs (%zu failures), %zu descs\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   980  			event_idx, event_attr_ct, junk_events, desc_ct);
5c5cd7b502595f Cody P Schafer        2015-01-30   981  
5c5cd7b502595f Cody P Schafer        2015-01-30   982  	events[event_attr_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   983  	event_descs[desc_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   984  	event_long_descs[long_desc_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   985  
5c5cd7b502595f Cody P Schafer        2015-01-30   986  	event_uniq_destroy(&ev_uniq);
5c5cd7b502595f Cody P Schafer        2015-01-30   987  	vfree(event_data);
5c5cd7b502595f Cody P Schafer        2015-01-30   988  	kmem_cache_free(hv_page_cache, page);
5c5cd7b502595f Cody P Schafer        2015-01-30   989  
5c5cd7b502595f Cody P Schafer        2015-01-30   990  	*events_ = events;
5c5cd7b502595f Cody P Schafer        2015-01-30   991  	*event_descs_ = event_descs;
5c5cd7b502595f Cody P Schafer        2015-01-30   992  	*event_long_descs_ = event_long_descs;
7debc970ae7a55 Li Zhong              2015-04-13   993  	return 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   994  
5c5cd7b502595f Cody P Schafer        2015-01-30   995  e_event_descs:
5c5cd7b502595f Cody P Schafer        2015-01-30   996  	kfree(event_descs);
5c5cd7b502595f Cody P Schafer        2015-01-30   997  e_event_attrs:
5c5cd7b502595f Cody P Schafer        2015-01-30   998  	kfree(events);
5c5cd7b502595f Cody P Schafer        2015-01-30   999  e_event_data:
5c5cd7b502595f Cody P Schafer        2015-01-30  1000  	vfree(event_data);
5c5cd7b502595f Cody P Schafer        2015-01-30  1001  e_free:
5c5cd7b502595f Cody P Schafer        2015-01-30  1002  	kmem_cache_free(hv_page_cache, page);
5c5cd7b502595f Cody P Schafer        2015-01-30  1003  e_out:
5c5cd7b502595f Cody P Schafer        2015-01-30  1004  	*events_ = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30  1005  	*event_descs_ = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30  1006  	*event_long_descs_ = NULL;
7debc970ae7a55 Li Zhong              2015-04-13  1007  	return ret;
5c5cd7b502595f Cody P Schafer        2015-01-30  1008  }
5c5cd7b502595f Cody P Schafer        2015-01-30  1009  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Robin Murphy <robin.murphy@arm.com>,
	Ingo Molnar <mingo@redhat.com>,
	Arnaldo Carvalho de Melo <acme@kernel.org>,
	Namhyung Kim <namhyung@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Will Deacon <will@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@kernel.org>, Ian Rogers <irogers@google.com>,
	Adrian Hunter <adrian.hunter@intel.com>,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, x86@kernel.org,
	linux-perf-users@vger.kernel.org, jialong.yang@shingroup.cn
Subject: Re: [PATCH 04/10] perf: Rename PERF_PMU_CAP_NO_INTERRUPT
Date: Wed, 13 Mar 2024 23:44:06 +0800	[thread overview]
Message-ID: <202403132349.Ph0CYSV2-lkp@intel.com> (raw)
In-Reply-To: <0999a39f0a068979dbcc6119380f63d706101b4f.1710257512.git.robin.murphy@arm.com>

Hi Robin,

kernel test robot noticed the following build warnings:

[auto build test WARNING on perf-tools-next/perf-tools-next]
[also build test WARNING on perf-tools/perf-tools linus/master v6.8 next-20240313]
[cannot apply to acme/perf/core tip/perf/core]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Robin-Murphy/perf-alibaba_uncore_drw-Use-correct-CPU-affinity/20240313-013915
base:   https://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git perf-tools-next
patch link:    https://lore.kernel.org/r/0999a39f0a068979dbcc6119380f63d706101b4f.1710257512.git.robin.murphy%40arm.com
patch subject: [PATCH 04/10] perf: Rename PERF_PMU_CAP_NO_INTERRUPT
config: powerpc-allmodconfig (https://download.01.org/0day-ci/archive/20240313/202403132349.Ph0CYSV2-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240313/202403132349.Ph0CYSV2-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403132349.Ph0CYSV2-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/powerpc/perf/hv-24x7.c: In function 'hv_24x7_init':
   arch/powerpc/perf/hv-24x7.c:1742:9: error: expected ';' before 'r'
    1742 |         r = create_events_from_catalog(&event_group.attrs,
         |         ^
   arch/powerpc/perf/hv-24x7.c: At top level:
>> arch/powerpc/perf/hv-24x7.c:764:12: warning: 'create_events_from_catalog' defined but not used [-Wunused-function]
     764 | static int create_events_from_catalog(struct attribute ***events_,
         |            ^~~~~~~~~~~~~~~~~~~~~~~~~~


vim +/create_events_from_catalog +764 arch/powerpc/perf/hv-24x7.c

5c5cd7b502595f Cody P Schafer        2015-01-30   763  
7debc970ae7a55 Li Zhong              2015-04-13  @764  static int create_events_from_catalog(struct attribute ***events_,
5c5cd7b502595f Cody P Schafer        2015-01-30   765  				      struct attribute ***event_descs_,
5c5cd7b502595f Cody P Schafer        2015-01-30   766  				      struct attribute ***event_long_descs_)
5c5cd7b502595f Cody P Schafer        2015-01-30   767  {
38d81846106bb1 Thiago Jung Bauermann 2017-06-29   768  	long hret;
5c5cd7b502595f Cody P Schafer        2015-01-30   769  	size_t catalog_len, catalog_page_len, event_entry_count,
5c5cd7b502595f Cody P Schafer        2015-01-30   770  	       event_data_len, event_data_offs,
5c5cd7b502595f Cody P Schafer        2015-01-30   771  	       event_data_bytes, junk_events, event_idx, event_attr_ct, i,
5c5cd7b502595f Cody P Schafer        2015-01-30   772  	       attr_max, event_idx_last, desc_ct, long_desc_ct;
5c5cd7b502595f Cody P Schafer        2015-01-30   773  	ssize_t ct, ev_len;
12bf85a71000af Thiago Jung Bauermann 2017-06-29   774  	uint64_t catalog_version_num;
5c5cd7b502595f Cody P Schafer        2015-01-30   775  	struct attribute **events, **event_descs, **event_long_descs;
5c5cd7b502595f Cody P Schafer        2015-01-30   776  	struct hv_24x7_catalog_page_0 *page_0 =
5c5cd7b502595f Cody P Schafer        2015-01-30   777  		kmem_cache_alloc(hv_page_cache, GFP_KERNEL);
5c5cd7b502595f Cody P Schafer        2015-01-30   778  	void *page = page_0;
5c5cd7b502595f Cody P Schafer        2015-01-30   779  	void *event_data, *end;
5c5cd7b502595f Cody P Schafer        2015-01-30   780  	struct hv_24x7_event_data *event;
5c5cd7b502595f Cody P Schafer        2015-01-30   781  	struct rb_root ev_uniq = RB_ROOT;
7debc970ae7a55 Li Zhong              2015-04-13   782  	int ret = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   783  
7debc970ae7a55 Li Zhong              2015-04-13   784  	if (!page) {
7debc970ae7a55 Li Zhong              2015-04-13   785  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   786  		goto e_out;
7debc970ae7a55 Li Zhong              2015-04-13   787  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   788  
5c5cd7b502595f Cody P Schafer        2015-01-30   789  	hret = h_get_24x7_catalog_page(page, 0, 0);
7debc970ae7a55 Li Zhong              2015-04-13   790  	if (hret) {
7debc970ae7a55 Li Zhong              2015-04-13   791  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   792  		goto e_free;
7debc970ae7a55 Li Zhong              2015-04-13   793  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   794  
5c5cd7b502595f Cody P Schafer        2015-01-30   795  	catalog_version_num = be64_to_cpu(page_0->version);
5c5cd7b502595f Cody P Schafer        2015-01-30   796  	catalog_page_len = be32_to_cpu(page_0->length);
5c5cd7b502595f Cody P Schafer        2015-01-30   797  
5c5cd7b502595f Cody P Schafer        2015-01-30   798  	if (MAX_4K < catalog_page_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   799  		pr_err("invalid page count: %zu\n", catalog_page_len);
7debc970ae7a55 Li Zhong              2015-04-13   800  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   801  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   802  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   803  
5c5cd7b502595f Cody P Schafer        2015-01-30   804  	catalog_len = catalog_page_len * 4096;
5c5cd7b502595f Cody P Schafer        2015-01-30   805  
5c5cd7b502595f Cody P Schafer        2015-01-30   806  	event_entry_count = be16_to_cpu(page_0->event_entry_count);
5c5cd7b502595f Cody P Schafer        2015-01-30   807  	event_data_offs   = be16_to_cpu(page_0->event_data_offs);
5c5cd7b502595f Cody P Schafer        2015-01-30   808  	event_data_len    = be16_to_cpu(page_0->event_data_len);
5c5cd7b502595f Cody P Schafer        2015-01-30   809  
12bf85a71000af Thiago Jung Bauermann 2017-06-29   810  	pr_devel("cv %llu cl %zu eec %zu edo %zu edl %zu\n",
12bf85a71000af Thiago Jung Bauermann 2017-06-29   811  			catalog_version_num, catalog_len,
5c5cd7b502595f Cody P Schafer        2015-01-30   812  			event_entry_count, event_data_offs, event_data_len);
5c5cd7b502595f Cody P Schafer        2015-01-30   813  
5c5cd7b502595f Cody P Schafer        2015-01-30   814  	if ((MAX_4K < event_data_len)
5c5cd7b502595f Cody P Schafer        2015-01-30   815  			|| (MAX_4K < event_data_offs)
5c5cd7b502595f Cody P Schafer        2015-01-30   816  			|| (MAX_4K - event_data_offs < event_data_len)) {
5c5cd7b502595f Cody P Schafer        2015-01-30   817  		pr_err("invalid event data offs %zu and/or len %zu\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   818  				event_data_offs, event_data_len);
7debc970ae7a55 Li Zhong              2015-04-13   819  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   820  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   821  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   822  
5c5cd7b502595f Cody P Schafer        2015-01-30   823  	if ((event_data_offs + event_data_len) > catalog_page_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   824  		pr_err("event data %zu-%zu does not fit inside catalog 0-%zu\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   825  				event_data_offs,
5c5cd7b502595f Cody P Schafer        2015-01-30   826  				event_data_offs + event_data_len,
5c5cd7b502595f Cody P Schafer        2015-01-30   827  				catalog_page_len);
7debc970ae7a55 Li Zhong              2015-04-13   828  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   829  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   830  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   831  
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   832  	if (SIZE_MAX - 1 < event_entry_count) {
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   833  		pr_err("event_entry_count %zu is invalid\n", event_entry_count);
7debc970ae7a55 Li Zhong              2015-04-13   834  		ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   835  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   836  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   837  
5c5cd7b502595f Cody P Schafer        2015-01-30   838  	event_data_bytes = event_data_len * 4096;
5c5cd7b502595f Cody P Schafer        2015-01-30   839  
5c5cd7b502595f Cody P Schafer        2015-01-30   840  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   841  	 * event data can span several pages, events can cross between these
5c5cd7b502595f Cody P Schafer        2015-01-30   842  	 * pages. Use vmalloc to make this easier.
5c5cd7b502595f Cody P Schafer        2015-01-30   843  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   844  	event_data = vmalloc(event_data_bytes);
5c5cd7b502595f Cody P Schafer        2015-01-30   845  	if (!event_data) {
5c5cd7b502595f Cody P Schafer        2015-01-30   846  		pr_err("could not allocate event data\n");
7debc970ae7a55 Li Zhong              2015-04-13   847  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   848  		goto e_free;
5c5cd7b502595f Cody P Schafer        2015-01-30   849  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   850  
5c5cd7b502595f Cody P Schafer        2015-01-30   851  	end = event_data + event_data_bytes;
5c5cd7b502595f Cody P Schafer        2015-01-30   852  
5c5cd7b502595f Cody P Schafer        2015-01-30   853  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   854  	 * using vmalloc_to_phys() like this only works if PAGE_SIZE is
5c5cd7b502595f Cody P Schafer        2015-01-30   855  	 * divisible by 4096
5c5cd7b502595f Cody P Schafer        2015-01-30   856  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   857  	BUILD_BUG_ON(PAGE_SIZE % 4096);
5c5cd7b502595f Cody P Schafer        2015-01-30   858  
5c5cd7b502595f Cody P Schafer        2015-01-30   859  	for (i = 0; i < event_data_len; i++) {
5c5cd7b502595f Cody P Schafer        2015-01-30   860  		hret = h_get_24x7_catalog_page_(
5c5cd7b502595f Cody P Schafer        2015-01-30   861  				vmalloc_to_phys(event_data + i * 4096),
5c5cd7b502595f Cody P Schafer        2015-01-30   862  				catalog_version_num,
5c5cd7b502595f Cody P Schafer        2015-01-30   863  				i + event_data_offs);
5c5cd7b502595f Cody P Schafer        2015-01-30   864  		if (hret) {
12bf85a71000af Thiago Jung Bauermann 2017-06-29   865  			pr_err("Failed to get event data in page %zu: rc=%ld\n",
12bf85a71000af Thiago Jung Bauermann 2017-06-29   866  			       i + event_data_offs, hret);
7debc970ae7a55 Li Zhong              2015-04-13   867  			ret = -EIO;
5c5cd7b502595f Cody P Schafer        2015-01-30   868  			goto e_event_data;
5c5cd7b502595f Cody P Schafer        2015-01-30   869  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   870  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   871  
5c5cd7b502595f Cody P Schafer        2015-01-30   872  	/*
5c5cd7b502595f Cody P Schafer        2015-01-30   873  	 * scan the catalog to determine the number of attributes we need, and
5c5cd7b502595f Cody P Schafer        2015-01-30   874  	 * verify it at the same time.
5c5cd7b502595f Cody P Schafer        2015-01-30   875  	 */
5c5cd7b502595f Cody P Schafer        2015-01-30   876  	for (junk_events = 0, event = event_data, event_idx = 0, attr_max = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   877  	     ;
5c5cd7b502595f Cody P Schafer        2015-01-30   878  	     event_idx++, event = (void *)event + ev_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   879  		size_t offset = (void *)event - (void *)event_data;
5c5cd7b502595f Cody P Schafer        2015-01-30   880  		char *name;
5c5cd7b502595f Cody P Schafer        2015-01-30   881  		int nl;
5c5cd7b502595f Cody P Schafer        2015-01-30   882  
5c5cd7b502595f Cody P Schafer        2015-01-30   883  		ev_len = catalog_event_len_validate(event, event_idx,
5c5cd7b502595f Cody P Schafer        2015-01-30   884  						    event_data_bytes,
5c5cd7b502595f Cody P Schafer        2015-01-30   885  						    event_entry_count,
5c5cd7b502595f Cody P Schafer        2015-01-30   886  						    offset, end);
5c5cd7b502595f Cody P Schafer        2015-01-30   887  		if (ev_len < 0)
5c5cd7b502595f Cody P Schafer        2015-01-30   888  			break;
5c5cd7b502595f Cody P Schafer        2015-01-30   889  
5c5cd7b502595f Cody P Schafer        2015-01-30   890  		name = event_name(event, &nl);
5c5cd7b502595f Cody P Schafer        2015-01-30   891  
e5f9d8858612c1 Kajol Jain            2020-12-28   892  		if (ignore_event(name)) {
e5f9d8858612c1 Kajol Jain            2020-12-28   893  			junk_events++;
e5f9d8858612c1 Kajol Jain            2020-12-28   894  			continue;
e5f9d8858612c1 Kajol Jain            2020-12-28   895  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   896  		if (event->event_group_record_len == 0) {
5c5cd7b502595f Cody P Schafer        2015-01-30   897  			pr_devel("invalid event %zu (%.*s): group_record_len == 0, skipping\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   898  					event_idx, nl, name);
5c5cd7b502595f Cody P Schafer        2015-01-30   899  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   900  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   901  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   902  
5c5cd7b502595f Cody P Schafer        2015-01-30   903  		if (!catalog_entry_domain_is_valid(event->domain)) {
5c5cd7b502595f Cody P Schafer        2015-01-30   904  			pr_info("event %zu (%.*s) has invalid domain %d\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   905  					event_idx, nl, name, event->domain);
5c5cd7b502595f Cody P Schafer        2015-01-30   906  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   907  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   908  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   909  
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   910  		attr_max++;
5c5cd7b502595f Cody P Schafer        2015-01-30   911  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   912  
5c5cd7b502595f Cody P Schafer        2015-01-30   913  	event_idx_last = event_idx;
5c5cd7b502595f Cody P Schafer        2015-01-30   914  	if (event_idx_last != event_entry_count)
5c5cd7b502595f Cody P Schafer        2015-01-30   915  		pr_warn("event buffer ended before listed # of events were parsed (got %zu, wanted %zu, junk %zu)\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   916  				event_idx_last, event_entry_count, junk_events);
5c5cd7b502595f Cody P Schafer        2015-01-30   917  
5c5cd7b502595f Cody P Schafer        2015-01-30   918  	events = kmalloc_array(attr_max + 1, sizeof(*events), GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   919  	if (!events) {
7debc970ae7a55 Li Zhong              2015-04-13   920  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   921  		goto e_event_data;
7debc970ae7a55 Li Zhong              2015-04-13   922  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   923  
5c5cd7b502595f Cody P Schafer        2015-01-30   924  	event_descs = kmalloc_array(event_idx + 1, sizeof(*event_descs),
5c5cd7b502595f Cody P Schafer        2015-01-30   925  				GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   926  	if (!event_descs) {
7debc970ae7a55 Li Zhong              2015-04-13   927  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   928  		goto e_event_attrs;
7debc970ae7a55 Li Zhong              2015-04-13   929  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   930  
5c5cd7b502595f Cody P Schafer        2015-01-30   931  	event_long_descs = kmalloc_array(event_idx + 1,
5c5cd7b502595f Cody P Schafer        2015-01-30   932  			sizeof(*event_long_descs), GFP_KERNEL);
7debc970ae7a55 Li Zhong              2015-04-13   933  	if (!event_long_descs) {
7debc970ae7a55 Li Zhong              2015-04-13   934  		ret = -ENOMEM;
5c5cd7b502595f Cody P Schafer        2015-01-30   935  		goto e_event_descs;
7debc970ae7a55 Li Zhong              2015-04-13   936  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   937  
5c5cd7b502595f Cody P Schafer        2015-01-30   938  	/* Iterate over the catalog filling in the attribute vector */
5c5cd7b502595f Cody P Schafer        2015-01-30   939  	for (junk_events = 0, event_attr_ct = 0, desc_ct = 0, long_desc_ct = 0,
5c5cd7b502595f Cody P Schafer        2015-01-30   940  				event = event_data, event_idx = 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   941  			event_idx < event_idx_last;
5c5cd7b502595f Cody P Schafer        2015-01-30   942  			event_idx++, ev_len = be16_to_cpu(event->length),
5c5cd7b502595f Cody P Schafer        2015-01-30   943  				event = (void *)event + ev_len) {
5c5cd7b502595f Cody P Schafer        2015-01-30   944  		char *name;
5c5cd7b502595f Cody P Schafer        2015-01-30   945  		int nl;
5c5cd7b502595f Cody P Schafer        2015-01-30   946  		int nonce;
5c5cd7b502595f Cody P Schafer        2015-01-30   947  		/*
5c5cd7b502595f Cody P Schafer        2015-01-30   948  		 * these are the only "bad" events that are intermixed and that
5c5cd7b502595f Cody P Schafer        2015-01-30   949  		 * we can ignore without issue. make sure to skip them here
5c5cd7b502595f Cody P Schafer        2015-01-30   950  		 */
5c5cd7b502595f Cody P Schafer        2015-01-30   951  		if (event->event_group_record_len == 0)
5c5cd7b502595f Cody P Schafer        2015-01-30   952  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   953  		if (!catalog_entry_domain_is_valid(event->domain))
5c5cd7b502595f Cody P Schafer        2015-01-30   954  			continue;
5c5cd7b502595f Cody P Schafer        2015-01-30   955  
5c5cd7b502595f Cody P Schafer        2015-01-30   956  		name  = event_name(event, &nl);
e5f9d8858612c1 Kajol Jain            2020-12-28   957  		if (ignore_event(name))
e5f9d8858612c1 Kajol Jain            2020-12-28   958  			continue;
e5f9d8858612c1 Kajol Jain            2020-12-28   959  
5c5cd7b502595f Cody P Schafer        2015-01-30   960  		nonce = event_uniq_add(&ev_uniq, name, nl, event->domain);
5c5cd7b502595f Cody P Schafer        2015-01-30   961  		ct    = event_data_to_attrs(event_idx, events + event_attr_ct,
5c5cd7b502595f Cody P Schafer        2015-01-30   962  					    event, nonce);
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   963  		if (ct < 0) {
5c5cd7b502595f Cody P Schafer        2015-01-30   964  			pr_warn("event %zu (%.*s) creation failure, skipping\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   965  				event_idx, nl, name);
5c5cd7b502595f Cody P Schafer        2015-01-30   966  			junk_events++;
5c5cd7b502595f Cody P Schafer        2015-01-30   967  		} else {
8f69dc701aac17 Sukadev Bhattiprolu   2016-02-16   968  			event_attr_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   969  			event_descs[desc_ct] = event_to_desc_attr(event, nonce);
5c5cd7b502595f Cody P Schafer        2015-01-30   970  			if (event_descs[desc_ct])
5c5cd7b502595f Cody P Schafer        2015-01-30   971  				desc_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   972  			event_long_descs[long_desc_ct] =
5c5cd7b502595f Cody P Schafer        2015-01-30   973  					event_to_long_desc_attr(event, nonce);
5c5cd7b502595f Cody P Schafer        2015-01-30   974  			if (event_long_descs[long_desc_ct])
5c5cd7b502595f Cody P Schafer        2015-01-30   975  				long_desc_ct++;
5c5cd7b502595f Cody P Schafer        2015-01-30   976  		}
5c5cd7b502595f Cody P Schafer        2015-01-30   977  	}
5c5cd7b502595f Cody P Schafer        2015-01-30   978  
5c5cd7b502595f Cody P Schafer        2015-01-30   979  	pr_info("read %zu catalog entries, created %zu event attrs (%zu failures), %zu descs\n",
5c5cd7b502595f Cody P Schafer        2015-01-30   980  			event_idx, event_attr_ct, junk_events, desc_ct);
5c5cd7b502595f Cody P Schafer        2015-01-30   981  
5c5cd7b502595f Cody P Schafer        2015-01-30   982  	events[event_attr_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   983  	event_descs[desc_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   984  	event_long_descs[long_desc_ct] = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30   985  
5c5cd7b502595f Cody P Schafer        2015-01-30   986  	event_uniq_destroy(&ev_uniq);
5c5cd7b502595f Cody P Schafer        2015-01-30   987  	vfree(event_data);
5c5cd7b502595f Cody P Schafer        2015-01-30   988  	kmem_cache_free(hv_page_cache, page);
5c5cd7b502595f Cody P Schafer        2015-01-30   989  
5c5cd7b502595f Cody P Schafer        2015-01-30   990  	*events_ = events;
5c5cd7b502595f Cody P Schafer        2015-01-30   991  	*event_descs_ = event_descs;
5c5cd7b502595f Cody P Schafer        2015-01-30   992  	*event_long_descs_ = event_long_descs;
7debc970ae7a55 Li Zhong              2015-04-13   993  	return 0;
5c5cd7b502595f Cody P Schafer        2015-01-30   994  
5c5cd7b502595f Cody P Schafer        2015-01-30   995  e_event_descs:
5c5cd7b502595f Cody P Schafer        2015-01-30   996  	kfree(event_descs);
5c5cd7b502595f Cody P Schafer        2015-01-30   997  e_event_attrs:
5c5cd7b502595f Cody P Schafer        2015-01-30   998  	kfree(events);
5c5cd7b502595f Cody P Schafer        2015-01-30   999  e_event_data:
5c5cd7b502595f Cody P Schafer        2015-01-30  1000  	vfree(event_data);
5c5cd7b502595f Cody P Schafer        2015-01-30  1001  e_free:
5c5cd7b502595f Cody P Schafer        2015-01-30  1002  	kmem_cache_free(hv_page_cache, page);
5c5cd7b502595f Cody P Schafer        2015-01-30  1003  e_out:
5c5cd7b502595f Cody P Schafer        2015-01-30  1004  	*events_ = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30  1005  	*event_descs_ = NULL;
5c5cd7b502595f Cody P Schafer        2015-01-30  1006  	*event_long_descs_ = NULL;
7debc970ae7a55 Li Zhong              2015-04-13  1007  	return ret;
5c5cd7b502595f Cody P Schafer        2015-01-30  1008  }
5c5cd7b502595f Cody P Schafer        2015-01-30  1009  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2024-03-13 15:44 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-12 17:34 [PATCH 00/10] perf: Clean up common uncore boilerplate Robin Murphy
2024-03-12 17:34 ` Robin Murphy
2024-03-12 17:34 ` [PATCH 01/10] perf/alibaba_uncore_drw: Use correct CPU affinity Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-12 17:34 ` [PATCH 02/10] perf: Add capability for common event support Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-14  8:09   ` Yang Jialong 杨佳龙
2024-03-14  8:09     ` Yang Jialong 杨佳龙
2024-03-14 12:34     ` Robin Murphy
2024-03-14 12:34       ` Robin Murphy
2024-03-12 17:34 ` [PATCH 03/10] drivers/perf: Use PERF_PMU_CAP_NO_COMMON_EVENTS Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-12 17:34 ` [PATCH 04/10] perf: Rename PERF_PMU_CAP_NO_INTERRUPT Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-13 12:05   ` kernel test robot
2024-03-13 12:05     ` kernel test robot
2024-03-13 15:44   ` kernel test robot [this message]
2024-03-13 15:44     ` kernel test robot
2024-03-12 17:34 ` [PATCH 05/10] drivers/perf: Use PERF_PMU_CAP_NO_SAMPLING consistently Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-13 11:11   ` James Clark
2024-03-13 11:11     ` James Clark
2024-03-13 12:02     ` Robin Murphy
2024-03-13 12:02       ` Robin Murphy
2024-03-12 17:34 ` [PATCH 06/10] drivers/perf: Clean up redundant per-task checks Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-12 17:34 ` [PATCH 07/10] perf: Define common uncore capabilities Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-13 11:23   ` James Clark
2024-03-13 11:23     ` James Clark
2024-03-13 12:24     ` Robin Murphy
2024-03-13 12:24       ` Robin Murphy
2024-03-12 17:34 ` [PATCH 08/10] drivers/perf: Use " Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-12 17:34 ` [PATCH 09/10] x86: Use common uncore PMU capabilities Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-12 17:34 ` [PATCH 10/10] ARM: " Robin Murphy
2024-03-12 17:34   ` Robin Murphy
2024-03-30 14:59   ` Shawn Guo
2024-03-30 14:59     ` Shawn Guo
2024-03-13 11:26 ` [PATCH 00/10] perf: Clean up common uncore boilerplate James Clark
2024-03-13 11:26   ` James Clark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202403132349.Ph0CYSV2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=acme@kernel.org \
    --cc=adrian.hunter@intel.com \
    --cc=alexander.shishkin@linux.intel.com \
    --cc=irogers@google.com \
    --cc=jialong.yang@shingroup.cn \
    --cc=jolsa@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mingo@redhat.com \
    --cc=namhyung@kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=robin.murphy@arm.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.