mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] irqbalance: new package
@ 2014-04-22 18:37 Lucas Stach
  2014-04-23  7:14 ` Michael Olbrich
  0 siblings, 1 reply; 2+ messages in thread
From: Lucas Stach @ 2014-04-22 18:37 UTC (permalink / raw)
  To: ptxdist

Now that we have an upstream again, we can add this package.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
---
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 <l.stach@pengutronix.de>
+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 <l.stach@pengutronix.de>
+---
+ 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
+ 
+ [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"
+	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 <l.stach@pengutronix.de>
+#
+# 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)
+
+#
+# autoconf
+#
+IRQBALANCE_CONF_TOOL	:= autoconf
+IRQBALANCE_CONF_OPT	:= $(CROSS_AUTOCONF_USR)
+
+# ----------------------------------------------------------------------------
+# 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 <l.stach@pengutronix.de>")
+	@$(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
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ptxdist] [PATCH] irqbalance: new package
  2014-04-22 18:37 [ptxdist] [PATCH] irqbalance: new package Lucas Stach
@ 2014-04-23  7:14 ` Michael Olbrich
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Olbrich @ 2014-04-23  7:14 UTC (permalink / raw)
  To: ptxdist

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 <l.stach@pengutronix.de>
> ---
> 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 <l.stach@pengutronix.de>
> +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 <l.stach@pengutronix.de>
> +---
> + 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 <l.stach@pengutronix.de>
> +#
> +# 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 <l.stach@pengutronix.de>")
> +	@$(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
> ptxdist@pengutronix.de
> 

-- 
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
ptxdist@pengutronix.de

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-04-23  7:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-22 18:37 [ptxdist] [PATCH] irqbalance: new package Lucas Stach
2014-04-23  7:14 ` Michael Olbrich

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox