tree:
https://github.com/zen-kernel/zen-kernel 5.5/muqss
head: bf569053d0fe08b3615793a0105afff3d28f3676
commit: 9c34e9485aa8a6a771eeacfc9abf31008d1ce8c2 [2/22] Create highres timeout variants of
schedule_timeout functions.
config: i386-tinyconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
git checkout 9c34e9485aa8a6a771eeacfc9abf31008d1ce8c2
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Note: the zen-kernel-zen-kernel/5.5/muqss HEAD bf569053d0fe08b3615793a0105afff3d28f3676
builds fine.
It only hurts bisectibility.
All errors (new ones prefixed by >>):
> kernel/time/hrtimer.c:2217:14: error: redefinition of
'schedule_msec_hrtimeout'
long __sched schedule_msec_hrtimeout(long
timeout)
^~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/ratelimit.h:6:0,
from include/linux/device.h:25,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from kernel/time/hrtimer.c:25:
include/linux/sched.h:233:20: note: previous definition of
'schedule_msec_hrtimeout' was here
static inline long schedule_msec_hrtimeout(long timeout)
^~~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:2261:14: error: redefinition of
'schedule_min_hrtimeout'
long __sched schedule_min_hrtimeout(void)
^~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/ratelimit.h:6:0,
from include/linux/device.h:25,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from kernel/time/hrtimer.c:25:
include/linux/sched.h:238:20: note: previous definition of
'schedule_min_hrtimeout' was here
static inline long schedule_min_hrtimeout(void)
^~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:2268:14: error: redefinition of
'schedule_msec_hrtimeout_interruptible'
long __sched
schedule_msec_hrtimeout_interruptible(long timeout)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/ratelimit.h:6:0,
from include/linux/device.h:25,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from kernel/time/hrtimer.c:25:
include/linux/sched.h:243:20: note: previous definition of
'schedule_msec_hrtimeout_interruptible' was here
static inline long schedule_msec_hrtimeout_interruptible(long timeout)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> kernel/time/hrtimer.c:2275:14: error: redefinition of
'schedule_msec_hrtimeout_uninterruptible'
long __sched
schedule_msec_hrtimeout_uninterruptible(long timeout)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/linux/ratelimit.h:6:0,
from include/linux/device.h:25,
from include/linux/node.h:18,
from include/linux/cpu.h:17,
from kernel/time/hrtimer.c:25:
include/linux/sched.h:248:20: note: previous definition of
'schedule_msec_hrtimeout_uninterruptible' was here
static inline long schedule_msec_hrtimeout_uninterruptible(long timeout)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +/schedule_msec_hrtimeout +2217 kernel/time/hrtimer.c
2212
2213 /*
2214 * As per schedule_hrtimeout but taskes a millisecond value and returns how
2215 * many milliseconds are left.
2216 */
2217 long __sched schedule_msec_hrtimeout(long timeout)
2218 {
2219 struct hrtimer_sleeper t;
2220 int delta, secs, jiffs;
2221 ktime_t expires;
2222
2223 if (!timeout) {
2224 __set_current_state(TASK_RUNNING);
2225 return 0;
2226 }
2227
2228 jiffs = msecs_to_jiffies(timeout);
2229 /*
2230 * If regular timer resolution is adequate or hrtimer resolution is not
2231 * (yet) better than Hz, as would occur during startup, use regular
2232 * timers.
2233 */
2234 if (jiffs > 4 || hrtimer_resolution >= NSEC_PER_SEC / HZ)
2235 return schedule_timeout(jiffs);
2236
2237 secs = timeout / 1000;
2238 delta = (timeout % 1000) * NSEC_PER_MSEC;
2239 expires = ktime_set(secs, delta);
2240
2241 hrtimer_init_sleeper_on_stack(&t, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
2242 hrtimer_set_expires_range_ns(&t.timer, expires, delta);
2243
2244 hrtimer_sleeper_start_expires(&t, HRTIMER_MODE_REL);
2245
2246 if (likely(t.task))
2247 schedule();
2248
2249 hrtimer_cancel(&t.timer);
2250 destroy_hrtimer_on_stack(&t.timer);
2251
2252 __set_current_state(TASK_RUNNING);
2253
2254 expires = hrtimer_expires_remaining(&t.timer);
2255 timeout = ktime_to_ms(expires);
2256 return timeout < 0 ? 0 : timeout;
2257 }
2258
2259 EXPORT_SYMBOL(schedule_msec_hrtimeout);
2260
2261 long __sched schedule_min_hrtimeout(void)
2262 {
2263 return schedule_msec_hrtimeout(1);
2264 }
2265
2266 EXPORT_SYMBOL(schedule_min_hrtimeout);
2267
2268 long __sched schedule_msec_hrtimeout_interruptible(long timeout)
2269 {
2270 __set_current_state(TASK_INTERRUPTIBLE);
2271 return schedule_msec_hrtimeout(timeout);
2272 }
2273 EXPORT_SYMBOL(schedule_msec_hrtimeout_interruptible);
2274
2275 long __sched schedule_msec_hrtimeout_uninterruptible(long
timeout)
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation