#!/bin/bash # Intel MIC Platform Software Stack (MPSS) # # Copyright(c) 2013 Intel Corporation. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License, version 2, as # published by the Free Software Foundation. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # The full GNU General Public License is included in this distribution in # the file called "COPYING". # # Intel MIC User Space Tools. # # mpss Start mpssd. # # chkconfig: 2345 95 05 # description: start MPSS stack processing. # ### BEGIN INIT INFO # Provides: mpss # Required-Start: # Required-Stop: # Short-Description: MPSS stack control # Description: MPSS stack control ### END INIT INFO # Source function library. . /etc/init.d/functions exec=/usr/sbin/mpssd sysfs="/sys/class/mic" mic_modules="mic_host mic_x100_dma scif vop" start() { [ -x $exec ] || exit 5 if [ "`ps -e | awk '{print $4}' | grep mpssd | head -1`" = "mpssd" ]; then echo -e $"MPSSD already running! " success echo return 0 fi echo -e $"Starting MPSS Stack" echo -e $"Loading MIC drivers:" $mic_modules modprobe -a $mic_modules RETVAL=$? if [ $RETVAL -ne 0 ]; then failure echo return $RETVAL fi # Start the daemon echo -n $"Starting MPSSD " $exec RETVAL=$? if [ $RETVAL -ne 0 ]; then failure echo return $RETVAL fi success echo sleep 5 # Boot the cards micctrl -b # Wait till ping works for f in $sysfs/* do count=100 ipaddr=`cat $f/cmdline` ipaddr=${ipaddr#*address,} ipaddr=`echo $ipaddr | cut -d, -f1 | cut -d\; -f1` while [ $count -ge 0 ] do echo -e "Pinging "`basename $f`" " ping -c 1 $ipaddr &> /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then success break fi sleep 1 count=`expr $count - 1` done [ $RETVAL -ne 0 ] && failure || success echo done return $RETVAL } stop() { echo -e $"Shutting down MPSS Stack: " # Bail out if module is unloaded if [ ! -d "$sysfs" ]; then echo -n $"Module unloaded " success echo return 0 fi # Shut down the cards. micctrl -S # Wait for the cards to go offline for f in $sysfs/* do while [ "`cat $f/state`" != "ready" ] do sleep 1 echo -e "Waiting for "`basename $f`" to become ready" done done # Display the status of the cards micctrl -s # Kill MPSSD now echo -n $"Killing MPSSD" killall -9 mpssd 2>/dev/null RETVAL=$? [ $RETVAL -ne 0 ] && failure || success echo return $RETVAL } restart() { stop sleep 5 start } status() { micctrl -s if [ "`ps -e | awk '{print $4}' | grep mpssd | head -n 1`" = "mpssd" ]; then echo "mpssd is running" else echo "mpssd is stopped" fi return 0 } unload() { if [ ! -d "$sysfs" ]; then echo -n $"No MIC_HOST Module: " success echo return fi stop sleep 5 echo -n $"Removing MIC drivers:" $mic_modules modprobe -r $mic_modules RETVAL=$? [ $RETVAL -ne 0 ] && failure || success echo return $RETVAL } case $1 in start) start ;; stop) stop ;; restart) restart ;; status) status ;; unload) unload ;; *) echo $"Usage: $0 {start|stop|restart|status|unload}" exit 2 esac exit $? >space:mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-01-05 23:06:06 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2017-01-05 23:06:06 -0800
commit6989606a7224a2d5a925df22a49e4f7a0bfed0d6 (patch)
tree2fb686a4dea9a7f4beec97fde510f2840c8e06f9 /net/switchdev
parented40875dd4b4c7b5c991db9e06c984180ab0b3ce (diff)
parentbe29d20f3f5db1f0b4e49a4f6eeedf840e2bf9b1 (diff)
Merge branch 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit
Pull audit fixes from Paul Moore: "Two small fixes relating to audit's use of fsnotify. The first patch plugs a leak and the second fixes some lock shenanigans. The patches are small and I banged on this for an afternoon with our testsuite and didn't see anything odd" * 'stable-4.10' of git://git.infradead.org/users/pcmoore/audit: audit: Fix sleep in atomic fsnotify: Remove fsnotify_duplicate_mark()
Diffstat (limited to 'net/switchdev')