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(a)intel.com>
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@lists.01.org