Thread (50 messages) 50 messages, 6 authors, 2014-10-02

Re: [PATCH v2 02/17] powerpc/cell: Move data segment faulting code out of cell platform

From: Michael Neuling <hidden>
Date: 2014-10-02 00:42:55
Also in: lkml

On Wed, 2014-10-01 at 16:47 +1000, Michael Ellerman wrote:
On Tue, 2014-30-09 at 10:34:51 UTC, Michael Neuling wrote:
quoted
From: Ian Munsie <redacted>
=20
__spu_trap_data_seg() currently contains code to determine the VSID and=
 ESID
quoted
required for a particular EA and mm struct.
=20
This code is generically useful for other co-processors.  This moves th=
e code
quoted
of the cell platform so it can be used by other powerpc code.  It also =
adds 1TB
quoted
segment handling which Cell didn't have.
=20
I'm not loving this.
=20
For starters the name "copro_data_segment()" doesn't contain any verbs, a=
nd it
doesn't tell me what it does.
Ok.
If we give it a name that says what it does, we get copro_get_ea_esid_and=
_vsid().
Or something equally ugly.
Ok
And then in patch 10 you move the bulk of the logic into calculate_vsid()=
.

That was intentional on my part.  I want this patch to be clear that
we're moving this code out of cell.  Then I wanted the optimisations to
be in a separate patch.  It does mean we touch the code twice in this
series, but I was hoping it would make it easier to review.  Alas. :-)
So instead can we:
 - add a small helper that does the esid calculation, eg. calculate_esid(=
) ?
 - factor out the vsid logic into a helper, calculate_vsid() ?
 - rework the spu code to use those, dropping __spu_trap_data_seg()
 - use the helpers in the cxl code
OK, I think I can do that.  I might change the name to something better
in this patch, but I'll leave these cleanups to the later patch 10.

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