[CRIU] [PATCH 1/7] Add architecture support for s390x

Mike Rapoport rppt at linux.vnet.ibm.com
Wed Jun 28 20:38:39 MSK 2017


On Wed, Jun 28, 2017 at 06:56:34PM +0200, Michael Holzheu wrote:
> Am Wed, 28 Jun 2017 19:46:30 +0300
> schrieb Mike Rapoport <rppt at linux.vnet.ibm.com>:
> 
> > Hello Michael,
> > 
> > On Wed, Jun 28, 2017 at 06:11:59PM +0200, Michael Holzheu wrote:
> > > This patch adds the required functionality to make CRIU run on mainframe
> > > z Systems machines (s390x).
> > > 
> > > S390x is is a 64 bit big endian CISC architecture.
> > > 
> > > This patch set does not include:
> > > 
> > >  * Support for 31 bit compat tasks
> > >  * Support for processes that use s390 runtime instrumentation
> > > 
> > > Some parts of the patch have been contributed by:
> > > 
> > >  * Alice Frosi <alice at linux.vnet.ibm.com>
> > > 
> > > Reviewed-by: Alice Frosi <alice at linux.vnet.ibm.com>
> > > Signed-off-by: Michael Holzheu <holzheu at linux.vnet.ibm.com>
> > > ---
[...]
> > >  68 files changed, 2683 insertions(+), 27 deletions(-)
> > 
> > This is really big patch and it would be really hard to review it.
> > 
> > I would suggest to split it into several smaller patches.
> > I also believe that it would be better for the review if the arch specific
> > bits would be separated from core functionality changes.
> 
> I thought about that, but in the end almost all in this patch is s390
> specific stuff. Even the few common code files have "#ifdef __s390x__".
> 
> Patches 2-7 are common code changes that are not 100% s390 specific.

Patches 2-7 can go in as far as I am concerned :)
 
> So what exactly is your suggestion for splitting up the patch?

As for the 1/7, I think you can do something like

1. "Add compel/arch/s390", that adds all the files to compel/arch/s390
2. "Enable s390 in compel/" with the changes to compel/{Makefile,plugins,src}
3. "s390 protobuf additions" with the files that were added to images/
4. "Add criu/arch/s390" that adds the new files into criu/arch/s390
5. "Enable s390 in criu" with the rest of the changes in criu
6. "zdtm updates" with the tests.

At the very least you can split compel, criu and zdtm changes...

> Or perhaps could you point me to the ppc or arm patches?

The ppc support was added at
commit 303b8758 "arch/ppc64: Add PowerPC 64 LE support" [1]
and the arm64 was added at
commit ff0a7c11 "cr: implemented the support for the AArch64 architecture" [2]

Both are quite big as well, but they touched fewer bits outside arch/,
maybe just because there were fewer bits at all :)

> Michael

[1] https://lists.openvz.org/pipermail/criu/2015-April/020204.html
[2] https://lists.openvz.org/pipermail/criu/2014-March/012946.html



More information about the CRIU mailing list