From: Yong Zhang <yong.zhang0@gmail.com>
To: Don Zickus <dzickus@redhat.com>
Cc: Peter Zijlstra <peterz@infradead.org>,
Sergey Senozhatsky <sergey.senozhatsky@gmail.com>,
Andrew Morton <akpm@linux-foundation.org>,
Ingo Molnar <mingo@elte.hu>,
linux-kernel@vger.kernel.org
Subject: Re: fix BUG: using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog
Date: Mon, 16 Aug 2010 22:06:49 +0800 [thread overview]
Message-ID: <20100816140649.GA1992@zhy> (raw)
In-Reply-To: <20100816133452.GS4879@redhat.com>
On Mon, Aug 16, 2010 at 09:34:52AM -0400, Don Zickus wrote:
> I don't recall any requirement to have preemption disabled when using
> those functions.
Isn't that implicit? I mean the caller of touch_{softlockup|nmi}_watchdog
will sticky to that cpu before it finish running.
> It seems sensible to put it in the
> touch_{softlockup|nmi}_watchdog code.
I don't think so. Such as:
...
preempt_disable() <===A
touch_{softlockup|nmi}_watchdog <===B
preempt_enable() <===C
...
You just scroll A and C into B, but what will happen before preempt
occur before A?
>
> I assume the reason for having preemption disabled when using
> smp_processor_id() is that the code could migrate to another cpu when
> rescheduled?
If the migration could happen, then we could touch the wrong cpu-data,
and the detection on the original cpu will trigger anyway.
>
> I don't see a problem with the patch, but my low level understanding of
> the __get_cpu_var vs. per_cpu isn't very strong.
Maybe we should use __raw_get_cpu_var() instead.
Thanks,
Yong
next prev parent reply other threads:[~2010-08-16 14:07 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-13 10:21 fix BUG: using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog Sergey Senozhatsky
2010-08-16 8:22 ` Peter Zijlstra
2010-08-16 13:34 ` Don Zickus
2010-08-16 13:46 ` Peter Zijlstra
2010-08-16 14:08 ` [PATCH] fix BUG " Sergey Senozhatsky
2010-08-16 14:30 ` Don Zickus
2010-08-17 4:27 ` Yong Zhang
2010-08-17 2:59 ` Frederic Weisbecker
2010-08-17 3:16 ` Yong Zhang
2010-08-17 8:39 ` Sergey Senozhatsky
2010-08-17 9:05 ` Yong Zhang
2010-08-17 9:24 ` Sergey Senozhatsky
2010-08-17 9:37 ` Yong Zhang
2010-08-17 10:28 ` Sergey Senozhatsky
2010-08-17 12:48 ` Yong Zhang
2010-08-17 10:39 ` Sergey Senozhatsky
2010-08-17 12:56 ` Yong Zhang
2010-08-17 13:13 ` Don Zickus
2010-08-18 2:48 ` Frederic Weisbecker
2010-08-18 20:01 ` Andrew Morton
2010-08-19 2:27 ` Don Zickus
2010-08-20 2:57 ` Don Zickus
2010-08-20 3:42 ` Andrew Morton
2010-08-20 12:34 ` Don Zickus
2010-08-26 17:17 ` acpi_os_stall() and touch_nmi_watchdog() (was Re: [PATCH] fix BUG using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog) Len Brown
2010-08-20 15:02 ` [PATCH] fix BUG using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog Yong Zhang
2010-08-26 10:14 ` Maxim Levitsky
2010-08-26 14:40 ` Don Zickus
2010-08-17 7:56 ` [PATCH] fix BUG using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog (v2) Sergey Senozhatsky
2010-08-16 14:12 ` fix BUG: using smp_processor_id() in touch_nmi_watchdog and touch_softlockup_watchdog Don Zickus
2010-08-16 14:29 ` Peter Zijlstra
2010-08-16 14:06 ` Yong Zhang [this message]
2010-08-18 19:33 ` Andrew Morton
2010-08-18 21:44 ` Cyrill Gorcunov
2010-09-22 9:00 ` [PATCH] avoid second smp_processor_id() call in __touch_watchdog Sergey Senozhatsky
2010-09-22 14:41 ` Don Zickus
2010-09-22 16:27 ` Frederic Weisbecker
2010-09-22 16:39 ` Peter Zijlstra
2010-09-22 16:47 ` Frederic Weisbecker
2010-09-24 19:34 ` Don Zickus
2010-09-25 17:43 ` Sergey Senozhatsky
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=20100816140649.GA1992@zhy \
--to=yong.zhang0@gmail.com \
--cc=akpm@linux-foundation.org \
--cc=dzickus@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=sergey.senozhatsky@gmail.com \
/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.