On Tue, Apr 22, 2014 at 08:37:24PM +0200, Lucas Stach wrote:
> Now that we have an upstream again, we can add this package.
> 
> Signed-off-by: Lucas Stach <[email protected]>
> ---
> It seems this doesn't yet work properly on the ARM GIC,
> as this part doesn't do auto IRQ arbitration, like the
> x86 IRQ controllers do. But it doesn't do any harm either,
> so here's the package, before it rots away in my repo.
> ---
>  ...set-correct-path-to-env-file-in-systemd-u.patch | 22 ++++++
>  patches/irqbalance-1.0.7/autogen.sh                |  1 +
>  patches/irqbalance-1.0.7/series                    |  4 +
>  rules/irqbalance.in                                | 18 +++++
>  rules/irqbalance.make                              | 85 
> ++++++++++++++++++++++
>  5 files changed, 130 insertions(+)
>  create mode 100644 
> patches/irqbalance-1.0.7/0001-irqbalance-set-correct-path-to-env-file-in-systemd-u.patch
>  create mode 120000 patches/irqbalance-1.0.7/autogen.sh
>  create mode 100644 patches/irqbalance-1.0.7/series
>  create mode 100644 rules/irqbalance.in
>  create mode 100644 rules/irqbalance.make
> 
> diff --git 
> a/patches/irqbalance-1.0.7/0001-irqbalance-set-correct-path-to-env-file-in-systemd-u.patch
>  
> b/patches/irqbalance-1.0.7/0001-irqbalance-set-correct-path-to-env-file-in-systemd-u.patch
> new file mode 100644
> index 000000000000..47d4c3105035
> --- /dev/null
> +++ 
> b/patches/irqbalance-1.0.7/0001-irqbalance-set-correct-path-to-env-file-in-systemd-u.patch
> @@ -0,0 +1,22 @@
> +From: Lucas Stach <[email protected]>
> +Date: Tue, 22 Apr 2014 15:18:19 +0200
> +Subject: [PATCH] irqbalance: set correct path to env file in systemd unit
> +
> +Signed-off-by: Lucas Stach <[email protected]>
> +---
> + misc/irqbalance.service | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/misc/irqbalance.service b/misc/irqbalance.service
> +index 3139a830218a..0b47e03efe90 100644
> +--- a/misc/irqbalance.service
> ++++ b/misc/irqbalance.service
> +@@ -3,7 +3,7 @@ Description=irqbalance daemon
> + After=syslog.target
> + 
> + [Service]
> +-EnvironmentFile=/path/to/irqbalance.env
> ++EnvironmentFile=/etc/irqbalance
> + ExecStart=/usr/sbin/irqbalance --foreground $IRQBALANCE_ARGS

I think its probably easier to manage our own systemd service file in
generic/. And I think it makes more sense to use:
Type=forking
PIDFile=/run/irqbalance.pid
ExecStart=/usr/sbin/irqbalance --pid=/run/irqbalance.pid ...

> + 
> + [Install]
> diff --git a/patches/irqbalance-1.0.7/autogen.sh 
> b/patches/irqbalance-1.0.7/autogen.sh
> new file mode 120000
> index 000000000000..9f8a4cb7ddcb
> --- /dev/null
> +++ b/patches/irqbalance-1.0.7/autogen.sh
> @@ -0,0 +1 @@
> +../autogen.sh
> \ No newline at end of file
> diff --git a/patches/irqbalance-1.0.7/series b/patches/irqbalance-1.0.7/series
> new file mode 100644
> index 000000000000..440f89474f78
> --- /dev/null
> +++ b/patches/irqbalance-1.0.7/series
> @@ -0,0 +1,4 @@
> +# generated by git-ptx-patches
> +#tag:base --start-number 1
> +0001-irqbalance-set-correct-path-to-env-file-in-systemd-u.patch
> +# 659cb019f822f8cd887b48941bce06b4  - git-ptx-patches magic
> diff --git a/rules/irqbalance.in b/rules/irqbalance.in
> new file mode 100644
> index 000000000000..995d17c99be2
> --- /dev/null
> +++ b/rules/irqbalance.in
> @@ -0,0 +1,18 @@
> +## SECTION=shell_and_console
> +
> +menuconfig IRQBALANCE
> +     tristate
> +     prompt "irqbalance userspace daemon"

Add spaces at the end to align the '-->'.

> +     help
> +       The irqbalance daemon tries to distribute interrupts
> +       across the available online CPU in a smart way, in
> +       order to boost overall system performance.
> +
> +if IRQBALANCE
> +config IRQBALANCE_SYSTEMD_UNIT
> +        bool
> +        default y
> +        depends on SYSTEMD
> +        prompt "install systemd unit files for irqbalance"
> +
> +endif
> diff --git a/rules/irqbalance.make b/rules/irqbalance.make
> new file mode 100644
> index 000000000000..943378d67871
> --- /dev/null
> +++ b/rules/irqbalance.make
> @@ -0,0 +1,85 @@
> +# -*-makefile-*-
> +#
> +# Copyright (C) 2014 by Lucas Stach <[email protected]>
> +#
> +# See CREDITS for details about who has contributed to this project.
> +#
> +# For further information about the PTXdist project and license conditions
> +# see the README file.
> +#
> +
> +#
> +# We provide this package
> +#
> +PACKAGES-$(PTXCONF_IRQBALANCE) += irqbalance
> +
> +#
> +# Paths and names
> +#
> +IRQBALANCE_VERSION   := 1.0.7
> +IRQBALANCE_MD5               := 2a7090abab6bba15d632c24f5554e7ae
> +IRQBALANCE           := irqbalance-$(IRQBALANCE_VERSION)
> +IRQBALANCE_SUFFIX    := tar.gz
> +IRQBALANCE_URL               := 
> https://github.com/Irqbalance/irqbalance/archive/v$(IRQBALANCE_VERSION).$(IRQBALANCE_SUFFIX)
> +IRQBALANCE_SOURCE    := $(SRCDIR)/$(IRQBALANCE).$(IRQBALANCE_SUFFIX)
> +IRQBALANCE_DIR               := $(BUILDDIR)/$(IRQBALANCE)
> +IRQBALANCE_LICENSE   := GPLv2
> +
> +
> +# 
> ----------------------------------------------------------------------------
> +# Prepare
> +# 
> ----------------------------------------------------------------------------
> +
> +#IRQBALANCE_CONF_ENV := $(CROSS_ENV)

drop.

> +
> +#
> +# autoconf
> +#
> +IRQBALANCE_CONF_TOOL := autoconf
> +IRQBALANCE_CONF_OPT  := \
        $(CROSS_AUTOCONF_USR) \
        --disable-numa

> +
> +# 
> ----------------------------------------------------------------------------
> +# Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/irqbalance.install:
> +     @$(call targetinfo)
> +     @$(call world/install, IRQBALANCE)
> +
> +     @install -D -m0644 $(IRQBALANCE_DIR)/misc/irqbalance.env \
> +             $(IRQBALANCE_PKGDIR)/etc/irqbalance
> +
> +ifdef PTXCONF_IRQBALANCE_SYSTEMD_UNIT
> +     @install -D -m0644 $(IRQBALANCE_DIR)/misc/irqbalance.service \
> +             $(IRQBALANCE_PKGDIR)/lib/systemd/system/irqbalance.service
> +endif
> +
> +     @$(call touch)
> +
> +# 
> ----------------------------------------------------------------------------
> +# Target-Install
> +# 
> ----------------------------------------------------------------------------
> +
> +$(STATEDIR)/irqbalance.targetinstall:
> +     @$(call targetinfo)
> +
> +     @$(call install_init, irqbalance)
> +     @$(call install_fixup, irqbalance,PRIORITY,optional)
> +     @$(call install_fixup, irqbalance,SECTION,base)
> +     @$(call install_fixup, irqbalance,AUTHOR,"Lucas Stach 
> <[email protected]>")
> +     @$(call install_fixup, irqbalance,DESCRIPTION,missing)
> +
> +     @$(call install_copy, irqbalance, 0, 0, 0755, -, /usr/sbin/irqbalance)
> +
> +     @$(call install_alternative, irqbalance, 0, 0, 0644, /etc/irqbalance)
> +
> +ifdef PTXCONF_IRQBALANCE_SYSTEMD_UNIT
> +     @$(call install_alternative, irqbalance, 0, 0, 0644, 
> /lib/systemd/system/irqbalance.service)
> +     @$(call install_link, irqbalance, ../irqbalance.service, \
> +             /lib/systemd/system/multi-user.target.wants/irqbalance.service)
> +endif
> +
> +     @$(call install_finish, irqbalance)
> +     @$(call touch)
> +
> +# vim: syntax=make
> -- 
> 1.9.1
> 
> 
> -- 
> ptxdist mailing list
> [email protected]
> 

-- 
Pengutronix e.K.                           |                             |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

-- 
ptxdist mailing list
[email protected]

Reply via email to