* [PATCH RFC v5 08/21] dept: Apply Dept to seqlock
2022-03-16 2:26 [PATCH RFC v5 00/21] DEPT(Dependency Tracker) Byungchul Park
@ 2022-03-16 2:26 ` Byungchul Park
0 siblings, 0 replies; 4+ messages in thread
From: Byungchul Park @ 2022-03-16 2:26 UTC (permalink / raw)
To: torvalds
Cc: damien.lemoal, linux-ide, adilger.kernel, linux-ext4, mingo,
linux-kernel, peterz, will, tglx, rostedt, joel, sashal,
daniel.vetter, chris, duyuyang, johannes.berg, tj, tytso, willy,
david, amir73il, bfields, gregkh, kernel-team, linux-mm, akpm,
mhocko, minchan, hannes, vdavydov.dev, sj, jglisse, dennis, cl,
penberg, rientjes, vbabka, ngupta, linux-block, paolo.valente,
josef, linux-fsdevel, viro, jack, jack, jlayton, dan.j.williams,
hch, djwong, dri-devel, airlied, rodrigosiqueiramelo, melissa.srw,
hamohammed.sa
Makes Dept able to track dependencies by seqlock with adding wait
annotation on read side of seqlock.
Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
include/linux/seqlock.h | 68 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 66 insertions(+), 2 deletions(-)
diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
index 37ded6b..585f45c 100644
--- a/include/linux/seqlock.h
+++ b/include/linux/seqlock.h
@@ -23,6 +23,31 @@
#include <asm/processor.h>
+#ifdef CONFIG_DEPT
+#define DEPT_EVT_ALL ((1UL << DEPT_MAX_SUBCLASSES_EVT) - 1)
+#define dept_seq_wait(m, ip) dept_wait(m, DEPT_EVT_ALL, ip, __func__, 0)
+#define dept_seq_writebegin(m, ip) \
+do { \
+ dept_ecxt_enter(m, 1UL, ip, __func__, "write_seqcount_end", 0);\
+ dept_ask_event(m); \
+} while (0)
+#define dept_seq_writeend(m, ip) \
+do { \
+ dept_event(m, 1UL, ip, __func__); \
+ dept_ecxt_exit(m, 1UL, ip); \
+} while (0)
+#else
+#define dept_seq_wait(m, ip) do { } while (0)
+#define dept_seq_writebegin(m, ip) do { } while (0)
+#define dept_seq_writeend(m, ip) do { } while (0)
+#endif
+
+#ifdef CONFIG_DEPT
+#define SEQ_DMAP_INIT(lockname) .dmap = { .name = #lockname }
+#else
+#define SEQ_DMAP_INIT(lockname)
+#endif
+
/*
* The seqlock seqcount_t interface does not prescribe a precise sequence of
* read begin/retry/end. For readers, typically there is a call to
@@ -82,7 +107,8 @@ static inline void __seqcount_init(seqcount_t *s, const char *name,
#ifdef CONFIG_DEBUG_LOCK_ALLOC
# define SEQCOUNT_DEP_MAP_INIT(lockname) \
- .dep_map = { .name = #lockname }
+ .dep_map = { .name = #lockname, \
+ SEQ_DMAP_INIT(lockname) }
/**
* seqcount_init() - runtime initializer for seqcount_t
@@ -148,7 +174,7 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s)
* This lock-unlock technique must be implemented for all of PREEMPT_RT
* sleeping locks. See Documentation/locking/locktypes.rst
*/
-#if defined(CONFIG_LOCKDEP) || defined(CONFIG_PREEMPT_RT)
+#if defined(CONFIG_LOCKDEP) || defined(CONFIG_DEPT) || defined(CONFIG_PREEMPT_RT)
#define __SEQ_LOCK(expr) expr
#else
#define __SEQ_LOCK(expr)
@@ -203,6 +229,22 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s)
__SEQ_LOCK(locktype *lock); \
} seqcount_##lockname##_t; \
\
+static __always_inline void \
+__seqprop_##lockname##_wait(const seqcount_##lockname##_t *s) \
+{ \
+ __SEQ_LOCK(dept_seq_wait(&(lockmember)->dep_map.dmap, _RET_IP_));\
+} \
+ \
+static __always_inline void \
+__seqprop_##lockname##_writebegin(const seqcount_##lockname##_t *s) \
+{ \
+} \
+ \
+static __always_inline void \
+__seqprop_##lockname##_writeend(const seqcount_##lockname##_t *s) \
+{ \
+} \
+ \
static __always_inline seqcount_t * \
__seqprop_##lockname##_ptr(seqcount_##lockname##_t *s) \
{ \
@@ -271,6 +313,21 @@ static inline void __seqprop_assert(const seqcount_t *s)
lockdep_assert_preemption_disabled();
}
+static inline void __seqprop_wait(seqcount_t *s)
+{
+ dept_seq_wait(&s->dep_map.dmap, _RET_IP_);
+}
+
+static inline void __seqprop_writebegin(seqcount_t *s)
+{
+ dept_seq_writebegin(&s->dep_map.dmap, _RET_IP_);
+}
+
+static inline void __seqprop_writeend(seqcount_t *s)
+{
+ dept_seq_writeend(&s->dep_map.dmap, _RET_IP_);
+}
+
#define __SEQ_RT IS_ENABLED(CONFIG_PREEMPT_RT)
SEQCOUNT_LOCKNAME(raw_spinlock, raw_spinlock_t, false, s->lock, raw_spin, raw_spin_lock(s->lock))
@@ -311,6 +368,9 @@ static inline void __seqprop_assert(const seqcount_t *s)
#define seqprop_sequence(s) __seqprop(s, sequence)
#define seqprop_preemptible(s) __seqprop(s, preemptible)
#define seqprop_assert(s) __seqprop(s, assert)
+#define seqprop_dept_wait(s) __seqprop(s, wait)
+#define seqprop_dept_writebegin(s) __seqprop(s, writebegin)
+#define seqprop_dept_writeend(s) __seqprop(s, writeend)
/**
* __read_seqcount_begin() - begin a seqcount_t read section w/o barrier
@@ -360,6 +420,7 @@ static inline void __seqprop_assert(const seqcount_t *s)
#define read_seqcount_begin(s) \
({ \
seqcount_lockdep_reader_access(seqprop_ptr(s)); \
+ seqprop_dept_wait(s); \
raw_read_seqcount_begin(s); \
})
@@ -512,6 +573,7 @@ static inline void do_raw_write_seqcount_end(seqcount_t *s)
preempt_disable(); \
\
do_write_seqcount_begin_nested(seqprop_ptr(s), subclass); \
+ seqprop_dept_writebegin(s); \
} while (0)
static inline void do_write_seqcount_begin_nested(seqcount_t *s, int subclass)
@@ -538,6 +600,7 @@ static inline void do_write_seqcount_begin_nested(seqcount_t *s, int subclass)
preempt_disable(); \
\
do_write_seqcount_begin(seqprop_ptr(s)); \
+ seqprop_dept_writebegin(s); \
} while (0)
static inline void do_write_seqcount_begin(seqcount_t *s)
@@ -554,6 +617,7 @@ static inline void do_write_seqcount_begin(seqcount_t *s)
*/
#define write_seqcount_end(s) \
do { \
+ seqprop_dept_writeend(s); \
do_write_seqcount_end(seqprop_ptr(s)); \
\
if (seqprop_preemptible(s)) \
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH RFC v5 08/21] dept: Apply Dept to seqlock
@ 2022-03-16 2:26 ` Byungchul Park
0 siblings, 0 replies; 4+ messages in thread
From: Byungchul Park @ 2022-03-16 2:26 UTC (permalink / raw)
To: torvalds
Cc: hamohammed.sa, jack, peterz, daniel.vetter, amir73il, david,
dri-devel, chris, bfields, linux-ide, adilger.kernel, joel, cl,
will, duyuyang, sashal, paolo.valente, damien.lemoal, willy, hch,
airlied, mingo, djwong, vdavydov.dev, rientjes, dennis,
linux-ext4, linux-mm, ngupta, johannes.berg, jack, dan.j.williams,
josef, rostedt, linux-block, linux-fsdevel, jglisse, viro, tglx,
mhocko, vbabka, melissa.srw, sj, tytso, rodrigosiqueiramelo,
kernel-team, gregkh, jlayton, linux-kernel, penberg, minchan,
hannes, tj, akpm
Makes Dept able to track dependencies by seqlock with adding wait
annotation on read side of seqlock.
Signed-off-by: Byungchul Park <byungchul.park@lge.com>
---
include/linux/seqlock.h | 68 +++++++++++++++++++++++++++++++++++++++++++++++--
1 file changed, 66 insertions(+), 2 deletions(-)
diff --git a/include/linux/seqlock.h b/include/linux/seqlock.h
index 37ded6b..585f45c 100644
--- a/include/linux/seqlock.h
+++ b/include/linux/seqlock.h
@@ -23,6 +23,31 @@
#include <asm/processor.h>
+#ifdef CONFIG_DEPT
+#define DEPT_EVT_ALL ((1UL << DEPT_MAX_SUBCLASSES_EVT) - 1)
+#define dept_seq_wait(m, ip) dept_wait(m, DEPT_EVT_ALL, ip, __func__, 0)
+#define dept_seq_writebegin(m, ip) \
+do { \
+ dept_ecxt_enter(m, 1UL, ip, __func__, "write_seqcount_end", 0);\
+ dept_ask_event(m); \
+} while (0)
+#define dept_seq_writeend(m, ip) \
+do { \
+ dept_event(m, 1UL, ip, __func__); \
+ dept_ecxt_exit(m, 1UL, ip); \
+} while (0)
+#else
+#define dept_seq_wait(m, ip) do { } while (0)
+#define dept_seq_writebegin(m, ip) do { } while (0)
+#define dept_seq_writeend(m, ip) do { } while (0)
+#endif
+
+#ifdef CONFIG_DEPT
+#define SEQ_DMAP_INIT(lockname) .dmap = { .name = #lockname }
+#else
+#define SEQ_DMAP_INIT(lockname)
+#endif
+
/*
* The seqlock seqcount_t interface does not prescribe a precise sequence of
* read begin/retry/end. For readers, typically there is a call to
@@ -82,7 +107,8 @@ static inline void __seqcount_init(seqcount_t *s, const char *name,
#ifdef CONFIG_DEBUG_LOCK_ALLOC
# define SEQCOUNT_DEP_MAP_INIT(lockname) \
- .dep_map = { .name = #lockname }
+ .dep_map = { .name = #lockname, \
+ SEQ_DMAP_INIT(lockname) }
/**
* seqcount_init() - runtime initializer for seqcount_t
@@ -148,7 +174,7 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s)
* This lock-unlock technique must be implemented for all of PREEMPT_RT
* sleeping locks. See Documentation/locking/locktypes.rst
*/
-#if defined(CONFIG_LOCKDEP) || defined(CONFIG_PREEMPT_RT)
+#if defined(CONFIG_LOCKDEP) || defined(CONFIG_DEPT) || defined(CONFIG_PREEMPT_RT)
#define __SEQ_LOCK(expr) expr
#else
#define __SEQ_LOCK(expr)
@@ -203,6 +229,22 @@ static inline void seqcount_lockdep_reader_access(const seqcount_t *s)
__SEQ_LOCK(locktype *lock); \
} seqcount_##lockname##_t; \
\
+static __always_inline void \
+__seqprop_##lockname##_wait(const seqcount_##lockname##_t *s) \
+{ \
+ __SEQ_LOCK(dept_seq_wait(&(lockmember)->dep_map.dmap, _RET_IP_));\
+} \
+ \
+static __always_inline void \
+__seqprop_##lockname##_writebegin(const seqcount_##lockname##_t *s) \
+{ \
+} \
+ \
+static __always_inline void \
+__seqprop_##lockname##_writeend(const seqcount_##lockname##_t *s) \
+{ \
+} \
+ \
static __always_inline seqcount_t * \
__seqprop_##lockname##_ptr(seqcount_##lockname##_t *s) \
{ \
@@ -271,6 +313,21 @@ static inline void __seqprop_assert(const seqcount_t *s)
lockdep_assert_preemption_disabled();
}
+static inline void __seqprop_wait(seqcount_t *s)
+{
+ dept_seq_wait(&s->dep_map.dmap, _RET_IP_);
+}
+
+static inline void __seqprop_writebegin(seqcount_t *s)
+{
+ dept_seq_writebegin(&s->dep_map.dmap, _RET_IP_);
+}
+
+static inline void __seqprop_writeend(seqcount_t *s)
+{
+ dept_seq_writeend(&s->dep_map.dmap, _RET_IP_);
+}
+
#define __SEQ_RT IS_ENABLED(CONFIG_PREEMPT_RT)
SEQCOUNT_LOCKNAME(raw_spinlock, raw_spinlock_t, false, s->lock, raw_spin, raw_spin_lock(s->lock))
@@ -311,6 +368,9 @@ static inline void __seqprop_assert(const seqcount_t *s)
#define seqprop_sequence(s) __seqprop(s, sequence)
#define seqprop_preemptible(s) __seqprop(s, preemptible)
#define seqprop_assert(s) __seqprop(s, assert)
+#define seqprop_dept_wait(s) __seqprop(s, wait)
+#define seqprop_dept_writebegin(s) __seqprop(s, writebegin)
+#define seqprop_dept_writeend(s) __seqprop(s, writeend)
/**
* __read_seqcount_begin() - begin a seqcount_t read section w/o barrier
@@ -360,6 +420,7 @@ static inline void __seqprop_assert(const seqcount_t *s)
#define read_seqcount_begin(s) \
({ \
seqcount_lockdep_reader_access(seqprop_ptr(s)); \
+ seqprop_dept_wait(s); \
raw_read_seqcount_begin(s); \
})
@@ -512,6 +573,7 @@ static inline void do_raw_write_seqcount_end(seqcount_t *s)
preempt_disable(); \
\
do_write_seqcount_begin_nested(seqprop_ptr(s), subclass); \
+ seqprop_dept_writebegin(s); \
} while (0)
static inline void do_write_seqcount_begin_nested(seqcount_t *s, int subclass)
@@ -538,6 +600,7 @@ static inline void do_write_seqcount_begin_nested(seqcount_t *s, int subclass)
preempt_disable(); \
\
do_write_seqcount_begin(seqprop_ptr(s)); \
+ seqprop_dept_writebegin(s); \
} while (0)
static inline void do_write_seqcount_begin(seqcount_t *s)
@@ -554,6 +617,7 @@ static inline void do_write_seqcount_begin(seqcount_t *s)
*/
#define write_seqcount_end(s) \
do { \
+ seqprop_dept_writeend(s); \
do_write_seqcount_end(seqprop_ptr(s)); \
\
if (seqprop_preemptible(s)) \
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH RFC v5 08/21] dept: Apply Dept to seqlock
@ 2022-03-16 23:14 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-03-16 23:14 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 4410 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <1647397593-16747-9-git-send-email-byungchul.park@lge.com>
References: <1647397593-16747-9-git-send-email-byungchul.park@lge.com>
TO: Byungchul Park <byungchul.park@lge.com>
Hi Byungchul,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.17-rc8]
[cannot apply to tip/locking/core tip/sched/core hnaz-mm/master next-20220316]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Byungchul-Park/DEPT-Dependency-Tracker/20220316-102853
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2c271fe77d52a0555161926c232cd5bc07178b39
:::::: branch date: 21 hours ago
:::::: commit date: 21 hours ago
config: x86_64-randconfig-m001-20220314 (https://download.01.org/0day-ci/archive/20220317/202203170758.2sBLlrrf-lkp(a)intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04) 9.4.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
arch/x86/kvm/x86.c:2129 update_pvclock_gtod() warn: statement has no effect 31
Old smatch warnings:
arch/x86/kvm/x86.c:2845 kvm_end_pvclock_update() warn: statement has no effect 31
arch/x86/kvm/x86.c:5066 kvm_arch_tsc_set_attr() warn: check for integer overflow 'offset'
arch/x86/kvm/x86.c:5107 kvm_vcpu_ioctl_device_attr() error: uninitialized symbol 'r'.
vim +2129 arch/x86/kvm/x86.c
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2101
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2102 static void update_pvclock_gtod(struct timekeeper *tk)
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2103 {
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2104 struct pvclock_gtod_data *vdata = &pvclock_gtod_data;
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2105
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2106 write_seqcount_begin(&vdata->seq);
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2107
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2108 /* copy pvclock gtod data */
b95a8a27c300d1 Thomas Gleixner 2020-02-07 2109 vdata->clock.vclock_mode = tk->tkr_mono.clock->vdso_clock_mode;
876e78818def29 Peter Zijlstra 2015-03-19 2110 vdata->clock.cycle_last = tk->tkr_mono.cycle_last;
876e78818def29 Peter Zijlstra 2015-03-19 2111 vdata->clock.mask = tk->tkr_mono.mask;
876e78818def29 Peter Zijlstra 2015-03-19 2112 vdata->clock.mult = tk->tkr_mono.mult;
876e78818def29 Peter Zijlstra 2015-03-19 2113 vdata->clock.shift = tk->tkr_mono.shift;
917f9475c0a8ab Paolo Bonzini 2020-01-22 2114 vdata->clock.base_cycles = tk->tkr_mono.xtime_nsec;
917f9475c0a8ab Paolo Bonzini 2020-01-22 2115 vdata->clock.offset = tk->tkr_mono.base;
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2116
b95a8a27c300d1 Thomas Gleixner 2020-02-07 2117 vdata->raw_clock.vclock_mode = tk->tkr_raw.clock->vdso_clock_mode;
53fafdbb8b21fa Marcelo Tosatti 2019-10-28 2118 vdata->raw_clock.cycle_last = tk->tkr_raw.cycle_last;
53fafdbb8b21fa Marcelo Tosatti 2019-10-28 2119 vdata->raw_clock.mask = tk->tkr_raw.mask;
53fafdbb8b21fa Marcelo Tosatti 2019-10-28 2120 vdata->raw_clock.mult = tk->tkr_raw.mult;
53fafdbb8b21fa Marcelo Tosatti 2019-10-28 2121 vdata->raw_clock.shift = tk->tkr_raw.shift;
917f9475c0a8ab Paolo Bonzini 2020-01-22 2122 vdata->raw_clock.base_cycles = tk->tkr_raw.xtime_nsec;
917f9475c0a8ab Paolo Bonzini 2020-01-22 2123 vdata->raw_clock.offset = tk->tkr_raw.base;
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2124
55dd00a73a5182 Marcelo Tosatti 2017-01-24 2125 vdata->wall_time_sec = tk->xtime_sec;
55dd00a73a5182 Marcelo Tosatti 2017-01-24 2126
917f9475c0a8ab Paolo Bonzini 2020-01-22 2127 vdata->offs_boot = tk->offs_boot;
53fafdbb8b21fa Marcelo Tosatti 2019-10-28 2128
16e8d74d2da992 Marcelo Tosatti 2012-11-27 @2129 write_seqcount_end(&vdata->seq);
16e8d74d2da992 Marcelo Tosatti 2012-11-27 2130 }
8171cd68806bd2 Paolo Bonzini 2020-01-22 2131
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH RFC v5 08/21] dept: Apply Dept to seqlock
@ 2022-03-18 1:03 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2022-03-18 1:03 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 5439 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
In-Reply-To: <1647397593-16747-9-git-send-email-byungchul.park@lge.com>
References: <1647397593-16747-9-git-send-email-byungchul.park@lge.com>
TO: Byungchul Park <byungchul.park@lge.com>
Hi Byungchul,
[FYI, it's a private test report for your RFC patch.]
[auto build test WARNING on linux/master]
[also build test WARNING on linus/master v5.17-rc8]
[cannot apply to tip/locking/core tip/sched/core hnaz-mm/master next-20220317]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Byungchul-Park/DEPT-Dependency-Tracker/20220316-102853
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 2c271fe77d52a0555161926c232cd5bc07178b39
:::::: branch date: 2 days ago
:::::: commit date: 2 days ago
config: parisc-randconfig-m031-20220317 (https://download.01.org/0day-ci/archive/20220318/202203180801.CEoECntN-lkp(a)intel.com/config)
compiler: hppa-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
New smatch warnings:
kernel/time/tick-legacy.c:31 legacy_timer_tick() warn: statement has no effect 31
include/linux/u64_stats_sync.h:148 u64_stats_update_end() warn: statement has no effect 31
include/linux/fs.h:907 i_size_write() warn: statement has no effect 31
include/linux/fs.h:907 i_size_write() warn: statement has no effect 31
include/linux/fs.h:907 i_size_write() warn: statement has no effect 31
include/linux/fs.h:907 i_size_write() warn: statement has no effect 31
include/linux/u64_stats_sync.h:174 u64_stats_update_end_irqrestore() warn: statement has no effect 31
include/linux/u64_stats_sync.h:148 u64_stats_update_end() warn: statement has no effect 31
include/linux/u64_stats_sync.h:174 u64_stats_update_end_irqrestore() warn: statement has no effect 31
include/linux/u64_stats_sync.h:148 u64_stats_update_end() warn: statement has no effect 31
include/linux/u64_stats_sync.h:148 u64_stats_update_end() warn: statement has no effect 31
include/linux/u64_stats_sync.h:148 u64_stats_update_end() warn: statement has no effect 31
Old smatch warnings:
fs/gfs2/dir.c:1422 gfs2_dir_read_leaf() error: dereferencing freed memory 'bh'
fs/gfs2/dir.c:1765 dir_new_leaf() warn: passing freed memory 'bh'
fs/gfs2/quota.c:708 gfs2_write_buf_to_page() warn: should 'index << (12 - sdp->sd_sb.sb_bsize_shift)' be a 64 bit type?
fs/gfs2/bmap.c:1248 gfs2_get_extent() warn: should '*extlen << blkbits' be a 64 bit type?
fs/gfs2/bmap.c:1269 gfs2_alloc_extent() warn: should '*extlen << blkbits' be a 64 bit type?
fs/gfs2/bmap.c:1878 punch_hole() error: uninitialized symbol 'end_aligned'.
fs/gfs2/bmap.c:1926 punch_hole() error: uninitialized symbol 'end_aligned'.
net/sched/sch_gred.c:470 gred_change_table_def() warn: potential spectre issue 'table->tab' [w] (local cap)
net/sched/sch_prio.c:216 prio_tune() warn: potential spectre issue 'q->queues' [w] (local cap)
net/sched/sch_cake.c:776 cake_hash() error: buffer overflow 'q->flows' 1024 <= 1030
net/sched/sch_cake.c:788 cake_hash() error: buffer overflow 'q->flows' 1024 <= 1030
net/sched/sch_cake.c:811 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 1030
net/sched/sch_cake.c:814 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 1030
net/sched/sch_cake.c:834 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 1030
net/sched/sch_cake.c:837 cake_hash() error: buffer overflow 'q->hosts' 1024 <= 1030
net/sched/sch_cake.c:1357 cake_overhead() warn: should 'off << 16' be a 64 bit type?
vim +31 kernel/time/tick-legacy.c
b3550164a19d62 Arnd Bergmann 2020-09-24 12
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 13 /**
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 14 * legacy_timer_tick() - advances the timekeeping infrastructure
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 15 * @ticks: number of ticks, that have elapsed since the last call.
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 16 *
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 17 * This is used by platforms that have not been converted to
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 18 * generic clockevents.
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 19 *
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 20 * If 'ticks' is zero, the CPU is not handling timekeeping, so
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 21 * only perform process accounting and profiling.
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 22 *
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 23 * Must be called with interrupts disabled.
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 24 */
b3550164a19d62 Arnd Bergmann 2020-09-24 25 void legacy_timer_tick(unsigned long ticks)
b3550164a19d62 Arnd Bergmann 2020-09-24 26 {
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 27 if (ticks) {
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 28 raw_spin_lock(&jiffies_lock);
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 29 write_seqcount_begin(&jiffies_seq);
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 30 do_timer(ticks);
56cc7b8acfb7c7 Arnd Bergmann 2020-09-24 @31 write_seqcount_end(&jiffies_seq);
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-03-18 1:03 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-03-16 23:14 [PATCH RFC v5 08/21] dept: Apply Dept to seqlock kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2022-03-18 1:03 kernel test robot
2022-03-16 2:26 [PATCH RFC v5 00/21] DEPT(Dependency Tracker) Byungchul Park
2022-03-16 2:26 ` [PATCH RFC v5 08/21] dept: Apply Dept to seqlock Byungchul Park
2022-03-16 2:26 ` Byungchul Park
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.