tree: https://github.com/hnaz/linux-mm master head: 52eaf754e07cae946b8010a40ed2ac26128e1967 commit: e3ee1a4e054fd2bb4e8d5a6e1c5db700b488acd5 [80/408] mm, memcg: decouple e{low,min} state mutations from protection checks config: powerpc-linkstation_defconfig (attached as .config) compiler: powerpc-linux-gcc (GCC) 9.3.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout e3ee1a4e054fd2bb4e8d5a6e1c5db700b488acd5 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc If you fix the issue, kindly add following tag as appropriate Reported-by: kbuild test robot <lkp@xxxxxxxxx> All error/warnings (new ones prefixed by >>): WARNING: unmet direct dependencies detected for PPC_INDIRECT_PCI Depends on PCI Selected by - MPC10X_BRIDGE In file included from include/linux/swap.h:9, from include/linux/suspend.h:5, from arch/powerpc/kernel/asm-offsets.c:23: include/linux/memcontrol.h: In function 'mem_cgroup_protection': >> include/linux/memcontrol.h:855:20: error: invalid storage class for function 'mem_cgroup_calculate_protection' 855 | static inline void mem_cgroup_calculate_protection(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:860:20: error: invalid storage class for function 'mem_cgroup_protection' 860 | static inline void mem_cgroup_protection(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h: In function 'mem_cgroup_protection': >> include/linux/memcontrol.h:863:9: warning: 'return' with a value, in function returning void 863 | return 0; | ^ include/linux/memcontrol.h:860:20: note: declared here 860 | static inline void mem_cgroup_protection(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h: In function 'mem_cgroup_protection': >> include/linux/memcontrol.h:860:1: warning: ISO C90 forbids mixed declarations and code 860 | static inline void mem_cgroup_protection(struct mem_cgroup | ^~~~~~ >> include/linux/memcontrol.h:866:20: error: invalid storage class for function 'mem_cgroup_below_low' 866 | static inline bool mem_cgroup_below_low(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:871:20: error: invalid storage class for function 'mem_cgroup_below_min' 871 | static inline bool mem_cgroup_below_min(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:876:19: error: invalid storage class for function 'mem_cgroup_try_charge' 876 | static inline int mem_cgroup_try_charge(struct page struct mm_struct | ^~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:885:19: error: invalid storage class for function 'mem_cgroup_try_charge_delay' 885 | static inline int mem_cgroup_try_charge_delay(struct page | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:895:20: error: invalid storage class for function 'mem_cgroup_commit_charge' 895 | static inline void mem_cgroup_commit_charge(struct page | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:901:20: error: invalid storage class for function 'mem_cgroup_cancel_charge' 901 | static inline void mem_cgroup_cancel_charge(struct page | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:907:20: error: invalid storage class for function 'mem_cgroup_uncharge' 907 | static inline void mem_cgroup_uncharge(struct page | ^~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:911:20: error: invalid storage class for function 'mem_cgroup_uncharge_list' 911 | static inline void mem_cgroup_uncharge_list(struct list_head | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:915:20: error: invalid storage class for function 'mem_cgroup_migrate' 915 | static inline void mem_cgroup_migrate(struct page struct page | ^~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:919:30: error: invalid storage class for function 'mem_cgroup_lruvec' 919 | static inline struct lruvec mem_cgroup | ^~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:925:30: error: invalid storage class for function 'mem_cgroup_page_lruvec' 925 | static inline struct lruvec page | ^~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:931:34: error: invalid storage class for function 'parent_mem_cgroup' 931 | static inline struct mem_cgroup mem_cgroup | ^~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:936:20: error: invalid storage class for function 'mm_match_cgroup' 936 | static inline bool mm_match_cgroup(struct mm_struct | ^~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:942:34: error: invalid storage class for function 'get_mem_cgroup_from_mm' 942 | static inline struct mem_cgroup mm_struct | ^~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:947:34: error: invalid storage class for function 'get_mem_cgroup_from_page' 947 | static inline struct mem_cgroup page | ^~~~~~~~~~~~~~~~~~~~~~~~ >> include/linux/memcontrol.h:952:20: error: invalid storage class for function 'mem_cgroup_put' 952 | static inline void mem_cgroup_put(struct mem_cgroup | ^~~~~~~~~~~~~~ include/linux/memcontrol.h:957:1: error: invalid storage class for function 'mem_cgroup_iter' 957 | mem_cgroup_iter(struct mem_cgroup | ^~~~~~~~~~~~~~~ include/linux/memcontrol.h:964:20: error: invalid storage class for function 'mem_cgroup_iter_break' 964 | static inline void mem_cgroup_iter_break(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:969:19: error: invalid storage class for function 'mem_cgroup_scan_tasks' 969 | static inline int mem_cgroup_scan_tasks(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:975:30: error: invalid storage class for function 'mem_cgroup_id' 975 | static inline unsigned short mem_cgroup_id(struct mem_cgroup | ^~~~~~~~~~~~~ include/linux/memcontrol.h:980:34: error: invalid storage class for function 'mem_cgroup_from_id' 980 | static inline struct mem_cgroup short id) | ^~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:987:34: error: invalid storage class for function 'mem_cgroup_from_seq' 987 | static inline struct mem_cgroup seq_file | ^~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:992:34: error: invalid storage class for function 'lruvec_memcg' 992 | static inline struct mem_cgroup lruvec | ^~~~~~~~~~~~ include/linux/memcontrol.h:997:20: error: invalid storage class for function 'mem_cgroup_online' 997 | static inline bool mem_cgroup_online(struct mem_cgroup | ^~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1003:15: error: invalid storage class for function 'mem_cgroup_get_zone_lru_size' 1003 | unsigned long mem_cgroup_get_zone_lru_size(struct lruvec | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1009:29: error: invalid storage class for function 'mem_cgroup_get_max' 1009 | static inline unsigned long mem_cgroup_get_max(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1014:29: error: invalid storage class for function 'mem_cgroup_size' 1014 | static inline unsigned long mem_cgroup_size(struct mem_cgroup | ^~~~~~~~~~~~~~~ include/linux/memcontrol.h:1020:1: error: invalid storage class for function 'mem_cgroup_print_oom_context' 1020 | mem_cgroup_print_oom_context(struct mem_cgroup struct task_struct | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1025:1: error: invalid storage class for function 'mem_cgroup_print_oom_meminfo' 1025 | mem_cgroup_print_oom_meminfo(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1029:34: error: invalid storage class for function 'lock_page_memcg' 1029 | static inline struct mem_cgroup page | ^~~~~~~~~~~~~~~ include/linux/memcontrol.h:1034:20: error: invalid storage class for function '__unlock_page_memcg' 1034 | static inline void __unlock_page_memcg(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1038:20: error: invalid storage class for function 'unlock_page_memcg' 1038 | static inline void unlock_page_memcg(struct page | ^~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1042:20: error: invalid storage class for function 'mem_cgroup_handle_over_high' 1042 | static inline void mem_cgroup_handle_over_high(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1046:20: error: invalid storage class for function 'mem_cgroup_enter_user_fault' 1046 | static inline void mem_cgroup_enter_user_fault(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1050:20: error: invalid storage class for function 'mem_cgroup_exit_user_fault' 1050 | static inline void mem_cgroup_exit_user_fault(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1054:20: error: invalid storage class for function 'task_in_memcg_oom' 1054 | static inline bool task_in_memcg_oom(struct task_struct | ^~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1059:20: error: invalid storage class for function 'mem_cgroup_oom_synchronize' 1059 | static inline bool mem_cgroup_oom_synchronize(bool wait) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1064:34: error: invalid storage class for function 'mem_cgroup_get_oom_group' 1064 | static inline struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1070:20: error: invalid storage class for function 'mem_cgroup_print_oom_group' 1070 | static inline void mem_cgroup_print_oom_group(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1074:29: error: invalid storage class for function 'memcg_page_state' 1074 | static inline unsigned long memcg_page_state(struct mem_cgroup int idx) | ^~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1079:29: error: invalid storage class for function 'memcg_page_state_local' 1079 | static inline unsigned long memcg_page_state_local(struct mem_cgroup | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1085:20: error: invalid storage class for function '__mod_memcg_state' 1085 | static inline void __mod_memcg_state(struct mem_cgroup | ^~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1091:20: error: invalid storage class for function 'mod_memcg_state' 1091 | static inline void mod_memcg_state(struct mem_cgroup | ^~~~~~~~~~~~~~~ include/linux/memcontrol.h:1097:20: error: invalid storage class for function '__mod_memcg_page_state' 1097 | static inline void __mod_memcg_page_state(struct page | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1103:20: error: invalid storage class for function 'mod_memcg_page_state' 1103 | static inline void mod_memcg_page_state(struct page | ^~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1109:29: error: invalid storage class for function 'lruvec_page_state' 1109 | static inline unsigned long lruvec_page_state(struct lruvec | ^~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1115:29: error: invalid storage class for function 'lruvec_page_state_local' 1115 | static inline unsigned long lruvec_page_state_local(struct lruvec | ^~~~~~~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1121:20: error: invalid storage class for function '__mod_lruvec_state' 1121 | static inline void __mod_lruvec_state(struct lruvec | ^~~~~~~~~~~~~~~~~~ include/linux/memcontrol.h:1127:20: error: invalid storage class for function 'mod_lruvec_state' 1127 | static inline void mod_lruvec_state(struct lruvec vim +/mem_cgroup_calculate_protection +855 include/linux/memcontrol.h 853 854 > 855 static inline void mem_cgroup_calculate_protection(struct mem_cgroup *root, 856 struct mem_cgroup *memcg); 857 { 858 } 859 > 860 static inline void mem_cgroup_protection(struct mem_cgroup *memcg, 861 bool in_low_reclaim) 862 { > 863 return 0; 864 } 865 > 866 static inline bool mem_cgroup_below_low(struct mem_cgroup *memcg) 867 { 868 return false; 869 } 870 > 871 static inline bool mem_cgroup_below_min(struct mem_cgroup *memcg) 872 { 873 return false; 874 } 875 > 876 static inline int mem_cgroup_try_charge(struct page *page, struct mm_struct *mm, 877 gfp_t gfp_mask, 878 struct mem_cgroup **memcgp, 879 bool compound) 880 { 881 *memcgp = NULL; 882 return 0; 883 } 884 > 885 static inline int mem_cgroup_try_charge_delay(struct page *page, 886 struct mm_struct *mm, 887 gfp_t gfp_mask, 888 struct mem_cgroup **memcgp, 889 bool compound) 890 { 891 *memcgp = NULL; 892 return 0; 893 } 894 > 895 static inline void mem_cgroup_commit_charge(struct page *page, 896 struct mem_cgroup *memcg, 897 bool lrucare, bool compound) 898 { 899 } 900 > 901 static inline void mem_cgroup_cancel_charge(struct page *page, 902 struct mem_cgroup *memcg, 903 bool compound) 904 { 905 } 906 > 907 static inline void mem_cgroup_uncharge(struct page *page) 908 { 909 } 910 > 911 static inline void mem_cgroup_uncharge_list(struct list_head *page_list) 912 { 913 } 914 > 915 static inline void mem_cgroup_migrate(struct page *old, struct page *new) 916 { 917 } 918 > 919 static inline struct lruvec *mem_cgroup_lruvec(struct mem_cgroup *memcg, 920 struct pglist_data *pgdat) 921 { 922 return &pgdat->__lruvec; 923 } 924 > 925 static inline struct lruvec *mem_cgroup_page_lruvec(struct page *page, 926 struct pglist_data *pgdat) 927 { 928 return &pgdat->__lruvec; 929 } 930 > 931 static inline struct mem_cgroup *parent_mem_cgroup(struct mem_cgroup *memcg) 932 { 933 return NULL; 934 } 935 > 936 static inline bool mm_match_cgroup(struct mm_struct *mm, 937 struct mem_cgroup *memcg) 938 { 939 return true; 940 } 941 > 942 static inline struct mem_cgroup *get_mem_cgroup_from_mm(struct mm_struct *mm) 943 { 944 return NULL; 945 } 946 > 947 static inline struct mem_cgroup *get_mem_cgroup_from_page(struct page *page) 948 { 949 return NULL; 950 } 951 > 952 static inline void mem_cgroup_put(struct mem_cgroup *memcg) 953 { 954 } 955 956 static inline struct mem_cgroup * > 957 mem_cgroup_iter(struct mem_cgroup *root, 958 struct mem_cgroup *prev, 959 struct mem_cgroup_reclaim_cookie *reclaim) 960 { 961 return NULL; 962 } 963 > 964 static inline void mem_cgroup_iter_break(struct mem_cgroup *root, 965 struct mem_cgroup *prev) 966 { 967 } 968 > 969 static inline int mem_cgroup_scan_tasks(struct mem_cgroup *memcg, 970 int (*fn)(struct task_struct *, void *), void *arg) 971 { 972 return 0; 973 } 974 > 975 static inline unsigned short mem_cgroup_id(struct mem_cgroup *memcg) 976 { 977 return 0; 978 } 979 > 980 static inline struct mem_cgroup *mem_cgroup_from_id(unsigned short id) 981 { 982 WARN_ON_ONCE(id); 983 /* XXX: This should always return root_mem_cgroup */ 984 return NULL; 985 } 986 > 987 static inline struct mem_cgroup *mem_cgroup_from_seq(struct seq_file *m) 988 { 989 return NULL; 990 } 991 > 992 static inline struct mem_cgroup *lruvec_memcg(struct lruvec *lruvec) 993 { 994 return NULL; 995 } 996 > 997 static inline bool mem_cgroup_online(struct mem_cgroup *memcg) 998 { 999 return true; 1000 } 1001 1002 static inline > 1003 unsigned long mem_cgroup_get_zone_lru_size(struct lruvec *lruvec, 1004 enum lru_list lru, int zone_idx) 1005 { 1006 return 0; 1007 } 1008 > 1009 static inline unsigned long mem_cgroup_get_max(struct mem_cgroup *memcg) 1010 { 1011 return 0; 1012 } 1013 > 1014 static inline unsigned long mem_cgroup_size(struct mem_cgroup *memcg) 1015 { 1016 return 0; 1017 } 1018 1019 static inline void > 1020 mem_cgroup_print_oom_context(struct mem_cgroup *memcg, struct task_struct *p) 1021 { 1022 } 1023 1024 static inline void > 1025 mem_cgroup_print_oom_meminfo(struct mem_cgroup *memcg) 1026 { 1027 } 1028 > 1029 static inline struct mem_cgroup *lock_page_memcg(struct page *page) 1030 { 1031 return NULL; 1032 } 1033 > 1034 static inline void __unlock_page_memcg(struct mem_cgroup *memcg) 1035 { 1036 } 1037 > 1038 static inline void unlock_page_memcg(struct page *page) 1039 { 1040 } 1041 > 1042 static inline void mem_cgroup_handle_over_high(void) 1043 { 1044 } 1045 > 1046 static inline void mem_cgroup_enter_user_fault(void) 1047 { 1048 } 1049 > 1050 static inline void mem_cgroup_exit_user_fault(void) 1051 { 1052 } 1053 > 1054 static inline bool task_in_memcg_oom(struct task_struct *p) 1055 { 1056 return false; 1057 } 1058 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip