]> Frank Brehm's Git Trees - config/bruni/etc.git/commitdiff
committing changes in /etc after emerge run
authorfrank <frank@bruni.home.brehm-online.com>
Sun, 15 Jan 2012 22:27:38 +0000 (23:27 +0100)
committerFrank Brehm <root@bruni.home.brehm-online.com>
Sun, 15 Jan 2012 22:27:38 +0000 (23:27 +0100)
Package changes:
+sys-apps/pciutils-3.1.7

.etckeeper
conf.d/pciparm [new file with mode: 0644]
init.d/pciparm [new file with mode: 0755]

index 411bccb181f9a366b5d734d8596c9740d8650025..f19d1dc622f5431fd69477839a69befd8f549b3b 100755 (executable)
@@ -42,6 +42,7 @@ maybe chmod 0644 './conf.d/net'
 maybe chmod 0644 './conf.d/network'
 maybe chmod 0644 './conf.d/ntp-client'
 maybe chmod 0644 './conf.d/ntpd'
+maybe chmod 0644 './conf.d/pciparm'
 maybe chmod 0644 './conf.d/pydoc-2.7'
 maybe chmod 0644 './conf.d/pydoc-3.1'
 maybe chmod 0644 './conf.d/rsyncd'
@@ -200,6 +201,7 @@ maybe chmod 0755 './init.d/nscd'
 maybe chmod 0755 './init.d/ntp-client'
 maybe chmod 0755 './init.d/ntpd'
 maybe chmod 0755 './init.d/numlock'
+maybe chmod 0755 './init.d/pciparm'
 maybe chmod 0755 './init.d/procfs'
 maybe chmod 0755 './init.d/pydoc-2.7'
 maybe chmod 0755 './init.d/pydoc-3.1'
diff --git a/conf.d/pciparm b/conf.d/pciparm
new file mode 100644 (file)
index 0000000..f036b15
--- /dev/null
@@ -0,0 +1,28 @@
+# PCI tweaking article:
+# http://www.gentoo.org/doc/en/articles/hardware-stability-p2.xml
+#
+# Apply to all devices:
+# PCIPARM_ALL="...."
+# Cards also can be addressed by vid:pid or by bus:slot.func
+# (see setpci man page relative to -d and -s options)
+# PCIPARM_(BUS|VENDOR)_#="...."
+# Where # is sequentially numbered from zero.
+
+# Examples:
+# "open up" the PCI bus by allowing fairly long bursts
+# for all devices, increasing performance
+# (equivalent to: setpci -v -d *:* latency_timer=b0)
+#PCIPARM_ALL="latency_timer=b0"
+
+# maximize latency timers for network and audio,
+# allowing them to transmit more data per burst,
+# preventing buffer over/under-run conditions
+#PCIPARM_BUS_0="00:04.0 latency_timer=ff"
+#PCIPARM_BUS_1="01:04.0 latency_timer=ff"
+#PCIPARM_VENDOR_0="1057:3410 latency_timer=ff"
+
+# -v : whether to be verbose about changes
+# -D : dry-run, no commit
+# -f : do not warn if the change is already set
+# (see the setpci manpage for more advanced options)
+SETPCI_OPT="-f"
diff --git a/init.d/pciparm b/init.d/pciparm
new file mode 100755 (executable)
index 0000000..705b647
--- /dev/null
@@ -0,0 +1,80 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/pciutils/files/init.d-pciparm,v 1.3 2008/10/11 02:47:50 robbat2 Exp $
+
+depend() {
+       before bootmisc hdparm
+       after localmount
+}
+
+checkconfig() {
+       if [ ! -f /etc/conf.d/pciparm ]; then
+               ewarn "/etc/conf.d/pciparm does not exist, skipping"
+               return 1
+       fi
+
+       if [ -z "${PCIPARM_ALL}" -a -z "${PCIPARM_BUS_0}" -a  -z "${PCIPARM_VENDOR_0}" ]; then
+               ewarn "None of PCIPARM_ALL, PCIPARM_BUS_* or PCIPARM_VENDOR_* set in /etc/conf.d/pciparm"
+               return 1
+       fi
+}
+
+do_setpci() {
+       #ewarn "do_setpci: /usr/sbin/setpci $SETPCI_OPT $@"
+       SWITCH=$1
+       SPEC_ID=$2
+       shift 2
+       case "$SWITCH" in
+               -d) DESC=vendor ;;
+               -s) DESC=bus ;;
+               *) eerror "Unknown setpci type: $SWITCH" ; return 1 ;;
+       esac
+
+       if [ -z "$SPEC_ID" ]; then
+               eerror "Missing device specifier!"
+               return 1
+       fi
+       if [ -z "$*" ]; then
+               eerror "Missing configuration to set for ($DESC) $SPEC_ID!"
+               return 1
+       fi
+
+       ebegin "Setting PCI params for ($DESC) $SPEC_ID to $@"
+       /usr/sbin/setpci $SETPCI_OPT $SWITCH $SPEC_ID "$@"
+       rc=$?
+       eend $rc
+       return $rc
+}
+
+do_setpci_array() {
+       name=$1
+       shift
+       i=0
+       while true; do
+               eval opt="\$${name}_$i"
+               # End of loop
+               [ -z "${opt}" ] && break
+               # Pass in all other parameters here, in case we want to use multiple
+               # arguments later.
+               do_setpci "$@" $opt #|| return 1
+               i=$(($i+1))
+       done
+}
+
+start() {
+       if get_bootparam "nopciparm" ; then
+               ewarn "Skipping pciparm init as requested in kernel cmdline"
+               return 0
+       fi
+
+       checkconfig || return 1
+       
+       # We do not exit after any errors presently, because it might be a
+       # stability-related fix after a failure.
+       [ -n "$PCIPARM_ALL" ] && \
+               do_setpci -d '*:*' $PCIPARM_ALL #|| return 1
+
+       do_setpci_array PCIPARM_BUS -s #|| return 1
+       do_setpci_array PCIPARM_VENDOR -d #|| return 1
+}