Function report

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:kernel\rcu\rcutorture.c Create Date:2022-07-28 10:21:03
Last Modify:2020-03-12 14:18:49 Copyright©Brick
home page Tree
Annotation kernel can get tool activityDownload SCCTChinese

Name:rcu_read_delay

Proto:static void rcu_read_delay(struct torture_random_state *rrsp, struct rt_read_seg *rtrsp)

Type:void

Parameter:

TypeParameterName
struct torture_random_state *rrsp
struct rt_read_seg *rtrsp
334  shortdelay_us = 200
335  longdelay_ms = 300
342  If Not Short rcu_torture_delay() delays. && Not (torture_random(rrsp) % nrealreaders * 2000 * longdelay_ms ) Then
344  started = get_gp_seq()
345  ts = rcu_trace_clock_local()
346  If We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt. & (SOFTIRQ_MASK | HARDIRQ_MASK) Then longdelay_ms = 5
348  mdelay(longdelay_ms)
349  rt_delay_ms = longdelay_ms
350  completed = get_gp_seq()
351  do_trace_rcu_torture_read(name, NULL, ts, started, completed)
354  If Not (torture_random(rrsp) % nrealreaders * 2 * shortdelay_us ) Then
355  0x10c7 is 2**32 / 1000000 (rounded up) (shortdelay_us)
356  rt_delay_us = shortdelay_us
358  If Not We mask the PREEMPT_NEED_RESCHED bit so as not to confuse all current users* that think a non-zero value indicates we cannot preempt. && Not (torture_random(rrsp) % nrealreaders * 500 ) Then
361  rt_preempted = true
Caller
NameDescribe
srcu_read_delay