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
next prev 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.