All of lore.kernel.org
 help / color / mirror / Atom feed
From: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>,
	bberg@redhat.com, bp@alien8.de, hpa@zytor.com, mingo@redhat.com,
	tglx@linutronix.de, tony.luck@intel.com
Cc: x86@kernel.org, linux-edac@vger.kernel.org,
	linux-kernel@vger.kernel.org, hdegoede@redhat.com,
	ckellner@redhat.com
Subject: Re: [PATCH] x86, mce, therm_throt: Optimize notifications of thermal throttle
Date: Sat, 08 Feb 2020 22:09:49 -0800	[thread overview]
Message-ID: <cc2c8f19983fb5100fa2692ffec752b127233d4e.camel@linux.intel.com> (raw)
In-Reply-To: <158120068234.18291.7938335950259651295@skylake-alporthouse-com>

On Sat, 2020-02-08 at 22:24 +0000, Chris Wilson wrote:
> Quoting Srinivas Pandruvada (2019-11-11 21:43:12)
> > +static void throttle_active_work(struct work_struct *work)
> > +{
> > +       struct _thermal_state *state =
> > container_of(to_delayed_work(work),
> > +                                               struct
> > _thermal_state, therm_work);
> > +       unsigned int i, avg, this_cpu = smp_processor_id();
> > +       u64 now = get_jiffies_64();
> > +       bool hot;
> > +       u8 temp;
> 
> <6> [198.901895] [IGT] perf_pmu: starting subtest cpu-hotplug
> <4> [199.088851] IRQ 24: no longer affine to CPU0
> <4> [199.088871] IRQ 25: no longer affine to CPU0
> <6> [199.091679] smpboot: CPU 0 is now offline
> <6> [200.122204] smpboot: Booting Node 0 Processor 0 APIC 0x0
> <6> [200.297267] smpboot: CPU 1 is now offline
> <3> [201.218812] BUG: using smp_processor_id() in preemptible
> [00000000] code: kworker/1:0/17
> <4> [201.218974] caller is throttle_active_work+0x12/0x280
> <4> [201.218985] CPU: 0 PID: 17 Comm: kworker/1:0 Tainted:
> G     U            5.5.0-CI-CI_DRM_7867+ #1
> <4> [201.218991] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS
> V1.12 02/15/2016
> <4> [201.219001] Workqueue: events throttle_active_work
> <4> [201.219009] Call Trace:
> <4> [201.219021]  dump_stack+0x71/0x9b
> <4> [201.219035]  debug_smp_processor_id+0xad/0xb0
> <4> [201.219047]  throttle_active_work+0x12/0x280
> <4> [201.219063]  process_one_work+0x26a/0x620
> <4> [201.219087]  worker_thread+0x37/0x380
> <4> [201.219103]  ? process_one_work+0x620/0x620
> <4> [201.219110]  kthread+0x119/0x130
> <4> [201.219119]  ? kthread_park+0x80/0x80
> <4> [201.219134]  ret_from_fork+0x3a/0x50
> <6> [201.315866] x86: Booting SMP configuration:
> <6> [201.315880] smpboot: Booting Node 0 Processor 1 APIC 0x2
> <4> [201.319814] ------------[ cut here ]------------
> <3> [201.319832] ODEBUG: init active (active state 0) object type:
> timer_list hint: delayed_work_timer_fn+0x0/0x10
> <4> [201.319971] WARNING: CPU: 1 PID: 14 at lib/debugobjects.c:484
> debug_print_object+0x67/0x90
> <4> [201.319977] Modules linked in: vgem snd_hda_codec_hdmi i915
> mei_hdcp x86_pkg_temp_thermal coretemp snd_hda_codec_realtek
> crct10dif_pclmul snd_hda_codec_generic crc32_pclmul snd_hda_intel
> snd_intel_dspcfg snd_hda_codec ghash_clmulni_intel snd_hwdep
> snd_hda_core snd_pcm mei_me r8169 mei realtek lpc_ich prime_numbers
> <4> [201.320023] CPU: 1 PID: 14 Comm: cpuhp/1 Tainted:
> G     U            5.5.0-CI-CI_DRM_7867+ #1
> <4> [201.320029] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS
> V1.12 02/15/2016
> <4> [201.320038] RIP: 0010:debug_print_object+0x67/0x90
> <4> [201.320046] Code: 83 c2 01 8b 4b 14 4c 8b 45 00 89 15 17 f7 8b
> 02 8b 53 10 4c 89 e6 48 c7 c7 b0 ce 31 82 48 8b 14 d5 00 37 07 82 e8
> 89 7b b8 ff <0f> 0b 5b 83 05 33 fb 21 01 01 5d 41 5c c3 83 05 28 fb
> 21 01 01 c3
> <4> [201.320053] RSP: 0000:ffffc900000dbd40 EFLAGS: 00010286
> <4> [201.320060] RAX: 0000000000000000 RBX: ffff888408665d68 RCX:
> 0000000000000001
> <4> [201.320066] RDX: 0000000080000001 RSI: ffff88840d6e30f8 RDI:
> 00000000ffffffff
> <4> [201.320072] RBP: ffffffff826489e0 R08: ffff88840d6e30f8 R09:
> 0000000000000000
> <4> [201.320078] R10: 0000000000000000 R11: 0000000000000000 R12:
> ffffffff822d7bd1
> <4> [201.320084] R13: ffffffff826489e0 R14: ffff88840f898300 R15:
> 0000000000000202
> <4> [201.320091] FS:  0000000000000000(0000)
> GS:ffff88840f880000(0000) knlGS:0000000000000000
> <4> [201.320098] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> <4> [201.320104] CR2: 0000000000000000 CR3: 0000000005610001 CR4:
> 00000000001606e0
> <4> [201.320109] Call Trace:
> <4> [201.320125]  __debug_object_init+0x359/0x510
> <4> [201.320140]  ? _raw_spin_unlock_irqrestore+0x34/0x60
> <4> [201.320156]  ? queue_work_node+0x70/0x70
> <4> [201.320165]  init_timer_key+0x25/0x140
> <4> [201.320180]  ? intel_thermal_supported+0x30/0x30
> <4> [201.320191]  thermal_throttle_online+0xb4/0x260
> <4> [201.320204]  ? unexpected_thermal_interrupt+0x20/0x20
> <4> [201.320213]  cpuhp_invoke_callback+0x9b/0x9d0
> <4> [201.320235]  cpuhp_thread_fun+0x1c8/0x220
> <4> [201.320249]  ? smpboot_thread_fn+0x23/0x280
> <4> [201.320259]  ? smpboot_thread_fn+0x6b/0x280
> <4> [201.320271]  smpboot_thread_fn+0x1d3/0x280
> <4> [201.320288]  ? sort_range+0x20/0x20
> <4> [201.320295]  kthread+0x119/0x130
> <4> [201.320303]  ? kthread_park+0x80/0x80
> <4> [201.320317]  ret_from_fork+0x3a/0x50
> <4> [201.320348] irq event stamp: 4846
> <4> [201.320358] hardirqs last  enabled at (4845):
> [<ffffffff8112dcca>] console_unlock+0x4ba/0x5a0
> <4> [201.320368] hardirqs last disabled at (4846):
> [<ffffffff81001ca0>] trace_hardirqs_off_thunk+0x1a/0x1c
> <4> [201.320379] softirqs last  enabled at (4746):
> [<ffffffff81e00385>] __do_softirq+0x385/0x47f
> <4> [201.320388] softirqs last disabled at (4739):
> [<ffffffff810ba15a>] irq_exit+0xba/0xc0
> <4> [201.320394] ---[ end trace 06576bf31ad2ac2b ]---
> 
> Are we otherwise relying on current->nr_cpus_allowed == 1 here?
No.
I am checking internally, if I can use raw_smp_processor_id() instead.

Thanks,
Srinivas

> (As this section is not within a preempt_disable or local_irq_disable
> region.)
> -Chris


  reply	other threads:[~2020-02-09  6:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-11 21:43 [PATCH] x86, mce, therm_throt: Optimize notifications of thermal throttle Srinivas Pandruvada
2019-11-12 15:00 ` [tip: ras/core] x86/mce/therm_throt: " tip-bot2 for Srinivas Pandruvada
2020-02-08 22:24 ` [PATCH] x86, mce, therm_throt: " Chris Wilson
2020-02-09  6:09   ` Srinivas Pandruvada [this message]
2020-02-10 15:16     ` Srinivas Pandruvada
2020-02-25 15:16   ` [tip: ras/urgent] x86/mce/therm_throt: Undo thermal polling properly on CPU offline tip-bot2 for Thomas Gleixner
2020-02-25 20:36   ` tip-bot2 for Thomas Gleixner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cc2c8f19983fb5100fa2692ffec752b127233d4e.camel@linux.intel.com \
    --to=srinivas.pandruvada@linux.intel.com \
    --cc=bberg@redhat.com \
    --cc=bp@alien8.de \
    --cc=chris@chris-wilson.co.uk \
    --cc=ckellner@redhat.com \
    --cc=hdegoede@redhat.com \
    --cc=hpa@zytor.com \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.