[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <57C9024A16AD2D4C97DC78E552063EA308329139@orsmsx505.amr.corp.intel.com>
Date: Mon, 4 Aug 2008 15:10:40 -0700
From: "Luck, Tony" <tony.luck@...el.com>
To: David Miller <davem@...emloft.net>
CC: "nacc@...ibm.com" <nacc@...ibm.com>,
"mingo@...e.hu" <mingo@...e.hu>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [BISECTION RESULT] sched: revert cpu_clock to
pre-27ec4407790d075c325e1f4da0a19c56953cce23 state
> Can you guys on IA64 possibly set ar.k3 simply to zero or to some
> other similar value which cancels out the per-cpu computation?
>
> That's what sparc64 and other platforms do.
In cpu_init() we set ar.k3 to the base physical address of the percpu
area. The alt-dtlb miss handler uses this register to set up a
TLB mapping from virtual address 0xffffffffffff0000 to this physical
address.
This means that most per-cpu accesses are very cheap (as the compiler
can use a small -ve offset from register r0 to load the virtual
address).
Accessing ar.k3 is a bit slow ... so making the per-cpu code
use that on every access to a per-cpu variable would be unpleasant.
-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists