On 23/03/2021 11:31, kernel test robot wrote:
> tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 84196390620ac0e5070ae36af84c137c6216a7dc
> commit: e5d1bc0a91f16959aa279aa3ee9fdc246d4bb382 io_uring: defer flushing cached
reqs
> date: 6 weeks ago
> config: powerpc64-randconfig-r023-20210323 (attached as .config)
> compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
14696baaf4c43fe53f738bc292bbe169eed93d5d)
> reproduce (this is a W=1 build):
> wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross
-O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # install powerpc64 cross compiling tool for clang build
> # apt-get install binutils-powerpc64-linux-gnu
> #
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
> git remote add linus
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout e5d1bc0a91f16959aa279aa3ee9fdc246d4bb382
> # save the attached .config to linux build tree
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=powerpc64
>
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp(a)intel.com>
>
> All warnings (new ones prefixed by >>):
>
>>> fs/io_uring.c:6920:12: warning: stack frame size of 1040 bytes in function
'io_submit_sqes' [-Wframe-larger-than=]
> static int io_submit_sqes(struct io_ring_ctx *ctx, unsigned int nr)
> ^
> 1 warning generated. b
I don't know, for up-to-date code all submission functions are under
128 bytes for me, including io_submit_sqes with everything heavily
inlined into it. I believe it's just a strange config keeping
everything on stack for some reason (too under optimised?).
Must be the powerpc compiler doing something weird, it's probably
inlining io_submit_sqe() and all opcode handlers. And then you get
there pretty quick, eg io_recvmsg() uses 768 bytes of stack here.
--
Jens Axboe