public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@osdl.org>
To: linux-ia64@vger.kernel.org
Subject: Re: periodically-drain-non-local-pagesets-fix.patch added to -mm
Date: Fri, 03 Jun 2005 06:10:57 +0000	[thread overview]
Message-ID: <20050602231057.580dcaa3.akpm@osdl.org> (raw)


(added linux-ia64)

Christoph Lameter <clameter@engr.sgi.com> wrote:
>
> printk: 272 messages suppressed.
>  BUG: using smp_processor_id() in preemptible [00000001] code: 
>  K10boot.swap/14959
>  caller is ia64_flush_fph+0x40/0x1a0
> 
>  Call Trace:
>   [<a000000100010840>] show_stack+0x80/0xa0
>                                  spà00023c1571fb20 bspà00023c15719158
>   [<a000000100010890>] dump_stack+0x30/0x60
>                                  spà00023c1571fcf0 bspà00023c15719148
>   [<a0000001003f3be0>] debug_smp_processor_id+0x2a0/0x2c0
>                                  spà00023c1571fcf0 bspà00023c15719128
>   [<a00000010002f6c0>] ia64_flush_fph+0x40/0x1a0
>                                  spà00023c1571fd70 bspà00023c15719110
>   [<a000000100035060>] setup_sigcontext+0x80/0x5e0
>                                  spà00023c1571fd80 bspà00023c157190c8
>   [<a000000100035aa0>] setup_frame+0x3a0/0x4a0
>                                  spà00023c1571fd80 bspà00023c15719068
>   [<a000000100035d30>] handle_signal+0x190/0x1a0
>                                  spà00023c1571fd80 bspà00023c15719030
>   [<a000000100035e80>] ia64_do_signal+0x140/0x400
>                                  spà00023c1571fd80 bspà00023c15718f88
>   [<a000000100011250>] do_notify_resume_user+0x110/0x120

Seems to me to be a preempt bug in the ia64 code:

inline void
ia64_flush_fph (struct task_struct *task)
{
	struct ia64_psr *psr = ia64_psr(ia64_task_regs(task));

	if (ia64_is_local_fpu_owner(task) && psr->mfh) {
		psr->mfh = 0;
		task->thread.flags |= IA64_THREAD_FPH_VALID;
		ia64_save_fpu(&task->thread.fph[0]);
	}
}

ia64_is_local_fpu_owner() diddles around with the concept of "the CPU we're
running on", but as no locks are held, smp_processor_id() can change at any
time.

The warning is, I think, valid and that code needs to be rethunk.

             reply	other threads:[~2005-06-03  6:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-06-03  6:10 Andrew Morton [this message]
2005-06-03  7:15 ` periodically-drain-non-local-pagesets-fix.patch added to -mm tree Keith Owens
2005-06-03  7:22 ` periodically-drain-non-local-pagesets-fix.patch added to -mm Andrew Morton
2005-06-03  7:31 ` periodically-drain-non-local-pagesets-fix.patch added to -mm tree Keith Owens
2005-06-03  7:35 ` periodically-drain-non-local-pagesets-fix.patch added to -mm Andrew Morton
2005-06-03  7:52 ` Christoph Lameter

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=20050602231057.580dcaa3.akpm@osdl.org \
    --to=akpm@osdl.org \
    --cc=linux-ia64@vger.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox