[Pkg-xen-devel] [PATCH 0/9] Fixing cross-compilation for Debian, some script work

Elliott Mitchell ehem+debian at m5p.com
Sun Oct 25 01:34:34 BST 2020


Resending several since they're still waiting for some action.  Plus a
few extras which appear to distinctly improve things.

With these, plus commit 17d192e0238d6c714e9f04593b59597b7090be38 from
Xen's main branch cross-builds work.


Yes, I'm including some shell script optimization.  I doubt these speed
the build that much, but a bunch of small steps together can result in
large gains.  `set -o pipefail` may be a substantial reliability gain
when using large, complex pipes with bash; but simplifying those pipes
results in larger reliability gains.

`xl` and some of the other utilities wrapped by `xen-utils-wrapper` are
used repeatedly in many places.  At which point removing most of the
commands which produce forks from `xen-utils-wrapper` is a very large
gain.  On a system of mine `/etc/init.d/xendomains start` appeared to use
roughly 500 processes per domain restored, with the optimization that
drops to 100 per domain restored.

Then using an internal xen() wrapper results in further gains.  I haven't
found anything beside `/etc/init.d/xendomains` using the `xen` wrapper,
but just in case I left that in place.


For systems where the xen-acpi-processor kernel module is available,
enabling that can be substantial savings.  Right now that is
i386/amd64-only, but I suspect it may get ported to ARM in the future.
For reference, on a memory-constrained machine of mine `sensors` was
showing the processor idle at 100W of power without xen-acpi-processor,
and with xen-acpi-processor it was idling below 30W.


Elliott Mitchell (9):
  Rework "debian/rules: Do not try to move EFI binaries on armhf"
  debian/rules: Correct shim install step for current Xen
  d/shuffle-binaries: Fix binary shuffling script for cross-building
  d/shuffle-boot-files: Rework boot shuffling script
  debian/rules: Set CC/LD for cross-building
  debian/rules: Setup use of noOCAML profile
  debian/xen.init: Load xen_acpi_processor on boot
  debian/scripts: Optimize runtime scripts
  d/xendomains.init: Remove use of `xen` compat wrapper for `xl`

 debian/control                          |  5 +--
 debian/rules                            | 36 ++++++++++++-------
 debian/scripts/xen-utils-wrapper        | 43 ++++++++++++++++++++---
 debian/scripts/xen-version              |  6 ++--
 debian/shuffle-binaries                 | 46 ++++++++++++++-----------
 debian/shuffle-boot-files               | 26 +++++++-------
 debian/xen-utils-common.xen.init        |  1 +
 debian/xen-utils-common.xendomains.init |  5 +++
 8 files changed, 115 insertions(+), 53 deletions(-)

-- 


-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg at m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445






More information about the Pkg-xen-devel mailing list