public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* Re: periodically-drain-non-local-pagesets-fix.patch added to -mm
@ 2005-06-03  6:10 Andrew Morton
  2005-06-03  7:15 ` periodically-drain-non-local-pagesets-fix.patch added to -mm tree Keith Owens
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Andrew Morton @ 2005-06-03  6:10 UTC (permalink / raw)
  To: linux-ia64


(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.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2005-06-03  7:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-03  6:10 periodically-drain-non-local-pagesets-fix.patch added to -mm Andrew Morton
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox