About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / mic / mpssd / mpss




Custom Search

Based on kernel version 3.16. Page generated on 2014-08-06 21:40 EST.

1	#!/bin/bash
2	# Intel MIC Platform Software Stack (MPSS)
3	#
4	# Copyright(c) 2013 Intel Corporation.
5	#
6	# This program is free software; you can redistribute it and/or modify
7	# it under the terms of the GNU General Public License, version 2, as
8	# published by the Free Software Foundation.
9	#
10	# This program is distributed in the hope that it will be useful, but
11	# WITHOUT ANY WARRANTY; without even the implied warranty of
12	# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13	# General Public License for more details.
14	#
15	# The full GNU General Public License is included in this distribution in
16	# the file called "COPYING".
17	#
18	# Intel MIC User Space Tools.
19	#
20	# mpss	Start mpssd.
21	#
22	# chkconfig: 2345 95 05
23	# description: start MPSS stack processing.
24	#
25	### BEGIN INIT INFO
26	# Provides: mpss
27	# Required-Start:
28	# Required-Stop:
29	# Short-Description: MPSS stack control
30	# Description: MPSS stack control
31	### END INIT INFO
32	
33	# Source function library.
34	. /etc/init.d/functions
35	
36	exec=/usr/sbin/mpssd
37	sysfs="/sys/class/mic"
38	
39	start()
40	{
41		[ -x $exec ] || exit 5
42	
43		if [ "`ps -e | awk '{print $4}' | grep mpssd | head -1`" = "mpssd" ]; then
44			echo -e $"MPSSD already running! "
45			success
46			echo
47			return 0
48		fi
49	
50		echo -e $"Starting MPSS Stack"
51		echo -e $"Loading MIC_HOST Module"
52	
53		# Ensure the driver is loaded
54		if [ ! -d "$sysfs" ]; then
55			modprobe mic_host
56			RETVAL=$?
57			if [ $RETVAL -ne 0 ]; then
58				failure
59				echo
60				return $RETVAL
61			fi
62		fi
63	
64		# Start the daemon
65		echo -n $"Starting MPSSD "
66		$exec
67		RETVAL=$?
68		if [ $RETVAL -ne 0 ]; then
69			failure
70			echo
71			return $RETVAL
72		fi
73		success
74		echo
75	
76		sleep 5
77	
78		# Boot the cards
79		micctrl -b
80	
81		# Wait till ping works
82		for f in $sysfs/*
83		do
84			count=100
85			ipaddr=`cat $f/cmdline`
86			ipaddr=${ipaddr#*address,}
87			ipaddr=`echo $ipaddr | cut -d, -f1 | cut -d\; -f1`
88			while [ $count -ge 0 ]
89			do
90				echo -e "Pinging "`basename $f`" "
91				ping -c 1 $ipaddr &> /dev/null
92				RETVAL=$?
93				if [ $RETVAL -eq 0 ]; then
94					success
95					break
96				fi
97				sleep 1
98				count=`expr $count - 1`
99			done
100			[ $RETVAL -ne 0 ] && failure || success
101			echo
102		done
103		return $RETVAL
104	}
105	
106	stop()
107	{
108		echo -e $"Shutting down MPSS Stack: "
109	
110		# Bail out if module is unloaded
111		if [ ! -d "$sysfs" ]; then
112			echo -n $"Module unloaded "
113			success
114			echo
115			return 0
116		fi
117	
118		# Shut down the cards.
119		micctrl -S
120	
121		# Wait for the cards to go offline
122		for f in $sysfs/*
123		do
124			while [ "`cat $f/state`" != "offline" ]
125			do
126				sleep 1
127				echo -e "Waiting for "`basename $f`" to go offline"
128			done
129		done
130	
131		# Display the status of the cards
132		micctrl -s
133	
134		# Kill MPSSD now
135		echo -n $"Killing MPSSD"
136		killall -9 mpssd 2>/dev/null
137		RETVAL=$?
138		[ $RETVAL -ne 0 ] && failure || success
139		echo
140		return $RETVAL
141	}
142	
143	restart()
144	{
145		stop
146		sleep 5
147		start
148	}
149	
150	status()
151	{
152		micctrl -s
153		if [ "`ps -e | awk '{print $4}' | grep mpssd | head -n 1`" = "mpssd" ]; then
154			echo "mpssd is running"
155		else
156			echo "mpssd is stopped"
157		fi
158		return 0
159	}
160	
161	unload()
162	{
163		if [ ! -d "$sysfs" ]; then
164			echo -n $"No MIC_HOST Module: "
165			success
166			echo
167			return
168		fi
169	
170		stop
171	
172		sleep 5
173		echo -n $"Removing MIC_HOST Module: "
174		modprobe -r mic_host
175		RETVAL=$?
176		[ $RETVAL -ne 0 ] && failure || success
177		echo
178		return $RETVAL
179	}
180	
181	case $1 in
182		start)
183			start
184			;;
185		stop)
186			stop
187			;;
188		restart)
189			restart
190			;;
191		status)
192			status
193			;;
194		unload)
195			unload
196			;;
197		*)
198			echo $"Usage: $0 {start|stop|restart|status|unload}"
199			exit 2
200	esac
201	
202	exit $?
Hide Line Numbers
About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.