Thread (10 messages) 10 messages, 4 authors, 2016-02-23

Re: [PATCH v5] powerpc32: provide VIRT_CPU_ACCOUNTING

From: Scott Wood <oss@buserror.net>
Date: 2016-02-23 02:15:24
Also in: lkml

On Tue, 2016-02-23 at 13:04 +1100, Michael Ellerman wrote:
On Tue, 2016-02-16 at 15:21 -0600, Scott Wood wrote:
quoted
On Thu, 2016-02-11 at 17:16 +0100, Christophe Leroy wrote:
quoted
quoted
This patch provides VIRT_CPU_ACCOUTING to PPC32 architecture.
PPC32 doesn't have the PACA structure, so we use the task_info
structure to store the accounting data.

In order to reuse on PPC32 the PPC64 functions, all u64 data has
been replaced by 'unsigned long' so that it is u32 on PPC32 and
u64 on PPC64

Signed-off-by: Christophe Leroy <redacted>
---
Changes in v3: unlike previous version of the patch that was inspired
from IA64 architecture, this new version tries to reuse as much as
possible the PPC64 implementation.

PPC32 doesn't have PACA and past discusion on v2 version has shown
that it is not worth implementing a PACA in PPC32 architecture
(see below benh opinion)

benh: PACA is actually a data structure and you really really don't want
it
on ppc32 :-) Having a register point to current works, having a register
point to per-cpu data instead works too (ie, change what we do today),
but don't introduce a PACA *please* :-)
And Ben never replied to my reply at the time:

"What is special about 64-bit that warrants doing things differently from
32
-bit?
Nothing. It's just historical cruft. But we're not realistically going to
get
rid of it anytime soon on 64-bit.
I wasn't suggesting getting rid of it on 64-bit, but rather adding it on 32
-bit, to hold things that are used by both.  I was confused by the vehemence
of Ben's objection.
quoted
What is the difference between PACA and "per-cpu data", other than the
obscure name?"
Not much. The pacas are allocated differently to per-cpu data, they're
available earlier in boot etc.
Ah, I was thinking of the general concept of per-cpu data, not the specific
mechanism that Linux implements in percpu.h etc.
 What we'd like is to have r13 point to the
per-cpu data area, and then the contents of the paca could just be regular
per-cpu data. But like I said above that's a big change.
That change seems orthogonal to the question of making the mechanism available
on 32-bit to ease unification of code which uses it.

-Scott
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help