[aegl:resctrl2_v64 2/3] arch/x86/include/asm/resctrl.h:114:45: error: invalid use of undefined type 'struct resctrl_group'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tree:   https://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux.git resctrl2_v64
head:   afb7cdd4d64023650b5cc6e003b1aa3d2ab80af1
commit: eda3e6a0e3b6c896d9ced0e8488c06cd373abd2e [2/3] resctrl2: Arch x86 modules for most of the legacy control/monitor functions
config: i386-randconfig-i062-20230703 (https://download.01.org/0day-ci/archive/20230703/202307031209.IWXDQGr5-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230703/202307031209.IWXDQGr5-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307031209.IWXDQGr5-lkp@xxxxxxxxx/

All error/warnings (new ones prefixed by >>):

   In file included from arch/x86/kernel/process_32.c:55:
>> arch/x86/include/asm/resctrl.h:101:36: warning: 'struct resctrl_group' declared inside parameter list will not be visible outside of this definition or declaration
     101 | bool arch_alloc_resctrl_ids(struct resctrl_group *rg);
         |                                    ^~~~~~~~~~~~~
   arch/x86/include/asm/resctrl.h:102:35: warning: 'struct resctrl_group' declared inside parameter list will not be visible outside of this definition or declaration
     102 | void arch_free_resctrl_ids(struct resctrl_group *rg);
         |                                   ^~~~~~~~~~~~~
   arch/x86/include/asm/resctrl.h:112:66: warning: 'struct resctrl_group' declared inside parameter list will not be visible outside of this definition or declaration
     112 | static inline bool is_closid_match(struct task_struct *t, struct resctrl_group *rg)
         |                                                                  ^~~~~~~~~~~~~
   arch/x86/include/asm/resctrl.h: In function 'is_closid_match':
>> arch/x86/include/asm/resctrl.h:114:45: error: invalid use of undefined type 'struct resctrl_group'
     114 |         return (t->resctrl_ids >> 32) == (rg->resctrl_ids >> 32);
         |                                             ^~
   arch/x86/include/asm/resctrl.h: At top level:
   arch/x86/include/asm/resctrl.h:117:75: warning: 'struct resctrl_group' declared inside parameter list will not be visible outside of this definition or declaration
     117 | static inline bool arch_is_resctrl_id_match(struct task_struct *t, struct resctrl_group *rg)
         |                                                                           ^~~~~~~~~~~~~
   arch/x86/include/asm/resctrl.h: In function 'arch_is_resctrl_id_match':
   arch/x86/include/asm/resctrl.h:119:15: error: invalid use of undefined type 'struct resctrl_group'
     119 |         if (rg->type == DIR_MON)
         |               ^~
>> arch/x86/include/asm/resctrl.h:119:25: error: 'DIR_MON' undeclared (first use in this function)
     119 |         if (rg->type == DIR_MON)
         |                         ^~~~~~~
   arch/x86/include/asm/resctrl.h:119:25: note: each undeclared identifier is reported only once for each function it appears in
   arch/x86/include/asm/resctrl.h:120:44: error: invalid use of undefined type 'struct resctrl_group'
     120 |                 return t->resctrl_ids == rg->resctrl_ids;
         |                                            ^~
>> arch/x86/include/asm/resctrl.h:121:35: error: passing argument 2 of 'is_closid_match' from incompatible pointer type [-Werror=incompatible-pointer-types]
     121 |         return is_closid_match(t, rg);
         |                                   ^~
         |                                   |
         |                                   struct resctrl_group *
   arch/x86/include/asm/resctrl.h:112:81: note: expected 'struct resctrl_group *' but argument is of type 'struct resctrl_group *'
     112 | static inline bool is_closid_match(struct task_struct *t, struct resctrl_group *rg)
         |                                                           ~~~~~~~~~~~~~~~~~~~~~~^~
   arch/x86/include/asm/resctrl.h: At top level:
   arch/x86/include/asm/resctrl.h:124:68: warning: 'struct resctrl_group' declared inside parameter list will not be visible outside of this definition or declaration
     124 | static inline bool arch_set_task_ids(struct task_struct *t, struct resctrl_group *rg)
         |                                                                    ^~~~~~~~~~~~~
   arch/x86/include/asm/resctrl.h: In function 'arch_set_task_ids':
   arch/x86/include/asm/resctrl.h:126:15: error: invalid use of undefined type 'struct resctrl_group'
     126 |         if (rg->type == DIR_MON) {
         |               ^~
   arch/x86/include/asm/resctrl.h:126:25: error: 'DIR_MON' undeclared (first use in this function)
     126 |         if (rg->type == DIR_MON) {
         |                         ^~~~~~~
   arch/x86/include/asm/resctrl.h:127:41: error: passing argument 2 of 'is_closid_match' from incompatible pointer type [-Werror=incompatible-pointer-types]
     127 |                 if (!is_closid_match(t, rg)) {
         |                                         ^~
         |                                         |
         |                                         struct resctrl_group *
   arch/x86/include/asm/resctrl.h:112:81: note: expected 'struct resctrl_group *' but argument is of type 'struct resctrl_group *'
     112 | static inline bool is_closid_match(struct task_struct *t, struct resctrl_group *rg)
         |                                                           ~~~~~~~~~~~~~~~~~~~~~~^~
   In file included from ./arch/x86/include/generated/asm/rwonce.h:1,
                    from include/linux/compiler.h:246,
                    from include/linux/dev_printk.h:14,
                    from include/linux/device.h:15,
                    from include/linux/node.h:18,
                    from include/linux/cpu.h:17,
                    from arch/x86/kernel/process_32.c:12:
   arch/x86/include/asm/resctrl.h:133:38: error: invalid use of undefined type 'struct resctrl_group'
     133 |         WRITE_ONCE(t->resctrl_ids, rg->resctrl_ids);
         |                                      ^~
   include/asm-generic/rwonce.h:55:40: note: in definition of macro '__WRITE_ONCE'
      55 |         *(volatile typeof(x) *)&(x) = (val);                            \
         |                                        ^~~
   arch/x86/include/asm/resctrl.h:133:9: note: in expansion of macro 'WRITE_ONCE'
     133 |         WRITE_ONCE(t->resctrl_ids, rg->resctrl_ids);
         |         ^~~~~~~~~~
   cc1: some warnings being treated as errors
--
>> fs/resctrl2/arch/x86/alloc.c:55:6: warning: no previous prototype for 'closid_free' [-Wmissing-prototypes]
      55 | void closid_free(int closid)
         |      ^~~~~~~~~~~
--
   fs/resctrl2/arch/x86/rdt_monitor.c: In function 'rdt_rmid_read':
>> fs/resctrl2/arch/x86/rdt_monitor.c:304:26: warning: variable 'm' set but not used [-Wunused-but-set-variable]
     304 |         struct mydomain *m;
         |                          ^


vim +114 arch/x86/include/asm/resctrl.h

   100	
 > 101	bool arch_alloc_resctrl_ids(struct resctrl_group *rg);
   102	void arch_free_resctrl_ids(struct resctrl_group *rg);
   103	bool arch_init_alloc_ids(struct resctrl_resource *r);
   104	int rmid_alloc(int prmid);
   105	void rmid_free(int rmid);
   106	void arch_add_monitor(int mon_event);
   107	void arch_del_monitor(int mon_event);
   108	u64 rdt_rmid_read(int domain_id, int rmid, int event);
   109	void rdt_mbm_apply_quirk(int num_rmids);
   110	u64 get_corrected_mbm_count(u32 rmid, unsigned long val);
   111	
   112	static inline bool is_closid_match(struct task_struct *t, struct resctrl_group *rg)
   113	{
 > 114		return (t->resctrl_ids >> 32) == (rg->resctrl_ids >> 32);
   115	}
   116	
   117	static inline bool arch_is_resctrl_id_match(struct task_struct *t, struct resctrl_group *rg)
   118	{
 > 119		if (rg->type == DIR_MON)
   120			return t->resctrl_ids == rg->resctrl_ids;
 > 121		return is_closid_match(t, rg);
   122	}
   123	

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



[Index of Archives]     [Linux Kernel]     [Sparc Linux]     [DCCP]     [Linux ARM]     [Yosemite News]     [Linux SCSI]     [Linux x86_64]     [Linux for Ham Radio]

  Powered by Linux