[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201811251920.6DxELyuZ%fengguang.wu@intel.com>
Date: Sun, 25 Nov 2018 19:30:24 +0800
From: kbuild test robot <lkp@...el.com>
To: Chanho Min <chanho.min@....com>
Cc: kbuild-all@...org, Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Vinod Koul <vinod.koul@...el.com>,
Daniel Mentz <danielmentz@...gle.com>,
linux-kernel@...r.kernel.org, alsa-devel@...a-project.org,
Seungho Park <seungho1.park@....com>,
Jongsung Kim <neidhard.kim@....com>,
Wonmin Jung <wonmin.jung@....com>,
Jaehyun Kim <jehn.kim@....com>,
Hyonwoo Park <hyonwoo.park@....com>,
Chanho Min <chanho.min@....com>
Subject: Re: [PATCH] ALSA: pcm: Fix starvation on down_write_nonblock()
Hi Chanho,
I love your patch! Yet something to improve:
[auto build test ERROR on sound/for-next]
[also build test ERROR on v4.20-rc3 next-20181123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Chanho-Min/ALSA-pcm-Fix-starvation-on-down_write_nonblock/20181124-182630
base: https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
sound/core/pcm_native.c:590:51: warning: incorrect type in assignment (different base types)
sound/core/pcm_native.c:590:51: expected restricted snd_pcm_state_t [usertype] state
sound/core/pcm_native.c:590:51: got int [signed] state
sound/core/pcm_native.c:755:38: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:755:38: expected int [signed] state
sound/core/pcm_native.c:755:38: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:767:38: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:767:38: expected int [signed] state
sound/core/pcm_native.c:767:38: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:816:38: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:816:38: expected int [signed] state
sound/core/pcm_native.c:816:38: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1226:32: warning: incorrect type in assignment (different base types)
sound/core/pcm_native.c:1226:32: expected restricted snd_pcm_state_t [usertype] state
sound/core/pcm_native.c:1226:32: got int [signed] state
sound/core/pcm_native.c:1250:31: warning: incorrect type in argument 3 (different base types)
sound/core/pcm_native.c:1250:31: expected int [signed] state
sound/core/pcm_native.c:1250:31: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1257:40: warning: incorrect type in argument 3 (different base types)
sound/core/pcm_native.c:1257:40: expected int [signed] state
sound/core/pcm_native.c:1257:40: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1283:28: warning: restricted snd_pcm_state_t degrades to integer
sound/core/pcm_native.c:1285:40: warning: incorrect type in assignment (different base types)
sound/core/pcm_native.c:1285:40: expected restricted snd_pcm_state_t [usertype] state
sound/core/pcm_native.c:1285:40: got int [signed] state
sound/core/pcm_native.c:1309:64: warning: incorrect type in argument 3 (different base types)
sound/core/pcm_native.c:1309:64: expected int [signed] state
sound/core/pcm_native.c:1309:64: got restricted snd_pcm_state_t [usertype] state
sound/core/pcm_native.c:1325:38: warning: incorrect type in argument 3 (different base types)
sound/core/pcm_native.c:1325:38: expected int [signed] state
sound/core/pcm_native.c:1325:38: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1684:38: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:1684:38: expected int [signed] state
sound/core/pcm_native.c:1684:38: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1750:61: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:1750:61: expected int [signed] state
sound/core/pcm_native.c:1750:61: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1751:63: warning: incorrect type in argument 2 (different base types)
sound/core/pcm_native.c:1751:63: expected int [signed] state
sound/core/pcm_native.c:1751:63: got restricted snd_pcm_state_t [usertype] <noident>
sound/core/pcm_native.c:1768:76: warning: incorrect type in initializer (different base types)
sound/core/pcm_native.c:1768:76: expected int [signed] new_state
sound/core/pcm_native.c:1768:76: got restricted snd_pcm_state_t
include/linux/slab.h:332:43: warning: dubious: x & !y
>> sound/core/pcm_native.c:99:17: error: undefined identifier 'msleep'
>> sound/core/pcm_native.c:99:23: error: not a function <noident>
sound/core/pcm_native.c:2089:26: warning: restricted snd_pcm_format_t degrades to integer
sound/core/pcm_native.c:2093:54: warning: incorrect type in argument 1 (different base types)
sound/core/pcm_native.c:2093:54: expected restricted snd_pcm_format_t [usertype] format
sound/core/pcm_native.c:2093:54: got unsigned int [unsigned] [assigned] k
sound/core/pcm_native.c:2111:26: warning: restricted snd_pcm_format_t degrades to integer
sound/core/pcm_native.c:2115:54: warning: incorrect type in argument 1 (different base types)
sound/core/pcm_native.c:2115:54: expected restricted snd_pcm_format_t [usertype] format
sound/core/pcm_native.c:2115:54: got unsigned int [unsigned] [assigned] k
sound/core/pcm_native.c:2295:30: warning: restricted snd_pcm_access_t degrades to integer
sound/core/pcm_native.c:2297:30: warning: restricted snd_pcm_access_t degrades to integer
sound/core/pcm_native.c:2300:38: warning: restricted snd_pcm_access_t degrades to integer
sound/core/pcm_native.c:2302:38: warning: restricted snd_pcm_access_t degrades to integer
sound/core/pcm_native.c:2304:38: warning: restricted snd_pcm_access_t degrades to integer
sound/core/pcm_native.c:2314:86: warning: restricted snd_pcm_subformat_t degrades to integer
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
sound/core/pcm_compat.c:226:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:226:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:226:13: got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
sound/core/pcm_compat.c:235:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:235:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:235:13: got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
sound/core/pcm_compat.c:290:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:290:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:290:13: got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
sound/core/pcm_compat.c:299:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:299:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:299:13: got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
include/linux/slab.h:332:43: warning: dubious: x & !y
include/linux/slab.h:332:43: warning: dubious: x & !y
sound/core/pcm_compat.c:525:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:525:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:525:13: got restricted snd_pcm_state_t [assigned] [usertype] state
sound/core/pcm_compat.c:528:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:528:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:528:13: got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
sound/core/pcm_compat.c:614:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:614:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:614:13: got restricted snd_pcm_state_t [assigned] [usertype] state
sound/core/pcm_compat.c:617:13: warning: incorrect type in assignment (different base types)
sound/core/pcm_compat.c:617:13: expected signed int [signed] [explicitly-signed] __pu_val
sound/core/pcm_compat.c:617:13: got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
sound/core/pcm_native.c:127:9: warning: context imbalance in '__snd_pcm_stream_lock_mode' - different lock contexts for basic block
sound/core/pcm_native.c:137:28: warning: context imbalance in '__snd_pcm_stream_unlock_mode' - unexpected unlock
sound/core/pcm_native.c:1097:52: warning: context imbalance in 'snd_pcm_action_group' - unexpected unlock
sound/core/pcm_native.c: In function 'down_write_nonblock':
sound/core/pcm_native.c:99:3: error: implicit declaration of function 'msleep' [-Werror=implicit-function-declaration]
msleep(1);
^~~~~~
cc1: some warnings being treated as errors
vim +/msleep +99 sound/core/pcm_native.c
89
90 /* Writer in rwsem may block readers even during its waiting in queue,
91 * and this may lead to a deadlock when the code path takes read sem
92 * twice (e.g. one in snd_pcm_action_nonatomic() and another in
93 * snd_pcm_stream_lock()). As a (suboptimal) workaround, let writer to
94 * spin until it gets the lock.
95 */
96 static inline void down_write_nonblock(struct rw_semaphore *lock)
97 {
98 while (!down_write_trylock(lock))
> 99 msleep(1);
100 }
101
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Download attachment ".config.gz" of type "application/gzip" (66605 bytes)
Powered by blists - more mailing lists