mirror of
https://github.com/unraid/webgui.git
synced 2026-05-07 12:51:21 -05:00
Make System Devices page more responsive
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
<?PHP
|
||||
/* Copyright 2005-2017, Lime Technology
|
||||
* Copyright 2012-2017, Bergware International.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in
|
||||
* all copies or substantial portions of the Software.
|
||||
*/
|
||||
?>
|
||||
<?
|
||||
switch ($_GET['table']) {
|
||||
case 't1':
|
||||
$groups = shell_exec('for group in $(ls /sys/kernel/iommu_groups/ -1|sort -n);do echo "IOMMU group $group"; for device in $(ls -1 "/sys/kernel/iommu_groups/$group"/devices/); do echo -n $\'\t\';lspci -ns "$device"|awk \'BEGIN{ORS=" "}{print "["$3"]"}\';lspci -s "$device"; done; done');
|
||||
if (empty($groups)) {
|
||||
$iommu = explode("\n", shell_exec("lspci -n|awk '{print \"[\"\$3\"]\"}'"));
|
||||
$i = 0;
|
||||
foreach (explode("\n", shell_exec("lspci")) as $line) {
|
||||
echo "<tr><td>".$iommu[$i++]."</td><td>$line</td></tr>";
|
||||
}
|
||||
} else {
|
||||
foreach (explode("\n", $groups) as $line) {
|
||||
if (!$line) continue;
|
||||
if ($line[0]=='I') {
|
||||
if ($spacer) echo "<tr><td colspan='2' class='thin'></td>"; else $spacer = true;
|
||||
echo "</tr><tr><td>$line:</td><td>";
|
||||
$append = true;
|
||||
} else {
|
||||
echo preg_replace("/^\t/",$append?"":"<tr><td></td><td>",$line)."</td></tr>";
|
||||
$append = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 't2':
|
||||
$i = 1;
|
||||
foreach (explode("\n", preg_replace(['/(\d+)[-,](\d+)/','/(\d+)\b/'], ['$1 / $2','cpu $1'], shell_exec("cat /sys/devices/system/cpu/*/topology/thread_siblings_list|sort -nu"))) as $line) {
|
||||
if (!$line) continue;
|
||||
echo "<tr><td>".(strpos($line,'/')!==false?"Pair ".$i++:"Single").":</td><td>$line</td></tr>";
|
||||
}
|
||||
break;
|
||||
case 't3':
|
||||
foreach (explode("\n", shell_exec("lsusb|sort")) as $line) {
|
||||
if (!$line) continue;
|
||||
list($bus,$id) = explode(':', $line, 2);
|
||||
echo "<tr><td>$bus:</td><td>".trim($id)."</td></tr>";
|
||||
}
|
||||
break;
|
||||
case 't4':
|
||||
foreach (explode("\n", shell_exec("lsscsi -s")) as $line) {
|
||||
if (!$line || strpos($line,'/dev/')===false) continue;
|
||||
echo "<tr><td>".preg_replace('/\] +/',']</td><td>',$line)."</td></tr>";
|
||||
}
|
||||
break;
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user