From ecd4e2470952c8c47fa868f8239e9bfb82703273 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 19 2015 16:11:44 +0000 Subject: import hwloc-1.7-5.el7 --- diff --git a/SOURCES/hwloc-1.7-desktop-entry.patch b/SOURCES/hwloc-1.7-desktop-entry.patch new file mode 100644 index 0000000..245f747 --- /dev/null +++ b/SOURCES/hwloc-1.7-desktop-entry.patch @@ -0,0 +1,54 @@ +Combination of the following two patches. + +commit d247110e60d3ba009c038a74e1f2b70bb1ba6a01 +Author: Samuel Thibault +Date: Wed Aug 20 00:24:19 2014 +0200 + + Add hwloc-ls.desktop file for start menu integration in gnome/KDE + + +commit 04c67994f0410a5c6eda61fdb3e89e75e00848ba +Author: Brice Goglin +Date: Wed Oct 8 11:27:12 2014 +0200 + + Change hwloc-ls.desktop in lstopo.desktop and only install if graphical + + hwloc-ls doesn't always point to a graphical lstopo, while hwloc-ls.desktop + wants a graphical application. Use lstopo instead (the change is invisible + from the menu) and don't install it unless lstopo has Cairo support. + + By the way, fix some issues in the desktop file (Categories Application + is deprecated, comment should be Comment). + Thanks to Jirka Hladky for reporting these issues. + +diff -Nrup hwloc-1.7.orig/utils/lstopo.desktop hwloc-1.7/utils/lstopo.desktop +--- hwloc-1.7.orig/utils/lstopo.desktop 1969-12-31 19:00:00.000000000 -0500 ++++ hwloc-1.7/utils/lstopo.desktop 2015-07-14 16:08:07.451934042 -0400 +@@ -0,0 +1,10 @@ ++# should only be used when lstopo is built with Cairo/X11 support ++# so that no terminal is required ++[Desktop Entry] ++Name=Hardware Locality lstopo ++Comment=Show hardware topology ++Exec=lstopo ++Terminal=false ++Type=Application ++Categories=System; ++Keywords=System;Utility; +diff -Nrup hwloc-1.7.orig/utils/Makefile.am hwloc-1.7/utils/Makefile.am +--- hwloc-1.7.orig/utils/Makefile.am 2015-07-14 16:06:07.752411827 -0400 ++++ hwloc-1.7/utils/Makefile.am 2015-07-14 16:08:07.451934042 -0400 +@@ -70,6 +70,13 @@ if HWLOC_HAVE_LINUX + nodist_man_MANS += $(hgt_page) + endif HWLOC_HAVE_LINUX + ++if HWLOC_HAVE_CAIRO ++# only installed when lstopo is built with Cairo/X11 support ++# so that no terminal is required ++APPLICATIONSdir = @datarootdir@/applications ++dist_APPLICATIONS_DATA = lstopo.desktop ++endif ++ + .1in.1: + @ echo Creating $@ man page... + @ $(SED) -e 's/#PACKAGE_NAME#/@PACKAGE_NAME@/g' \ diff --git a/SOURCES/hwloc-1.7-lstopo-manpage.patch b/SOURCES/hwloc-1.7-lstopo-manpage.patch new file mode 100644 index 0000000..996b87e --- /dev/null +++ b/SOURCES/hwloc-1.7-lstopo-manpage.patch @@ -0,0 +1,926 @@ +commit 573ac8842b198a6cfe8c64f3946c216b8dafaa4a +Author: Brice Goglin +Date: Wed Oct 8 07:41:49 2014 +0200 + + lstopo: swap lstopo.1 and lstopo-no-graphics.1 symlink + + Match what we do for binaries. lstopo-no-graphics always + exist as a binary. lstopo may be just a symlink. So now + lstopo.1 is a symlink to lstopo-no-graphics.1 + + Thanks to Jirka Hladky for reporting the issue. + +diff -Nrup hwloc-1.7.orig/utils/lstopo.1in hwloc-1.7/utils/lstopo.1in +--- hwloc-1.7.orig/utils/lstopo.1in 2013-03-26 16:00:18.000000000 -0400 ++++ hwloc-1.7/utils/lstopo.1in 1969-12-31 19:00:00.000000000 -0500 +@@ -1,433 +0,0 @@ +-.\" -*- nroff -*- +-.\" Copyright © 2009-2013 Inria. All rights reserved. +-.\" Copyright © 2009-2010 Université of Bordeaux +-.\" Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. +-.\" See COPYING in top-level directory. +-.TH LSTOPO "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" +-.SH NAME +-lstopo, lstopo-no-graphics \- Show the topology of the system +-. +-.\" ************************** +-.\" Synopsis Section +-.\" ************************** +-.SH SYNOPSIS +-. +-.B lstopo +-[ \fIoptions \fR]... [ \fIfilename \fR] +-. +-.PP +-.B lstopo-no-graphics +-[ \fIoptions \fR]... [ \fIfilename \fR] +-. +-.PP +-Note that hwloc(7) provides a detailed explanation of the hwloc system; it +-should be read before reading this man page +-. +-.\" ************************** +-.\" Options Section +-.\" ************************** +-.SH OPTIONS +-. +-.TP +-\fB\-\-of\fR , \fB\-\-output\-format\fR +-Enforce the output in the given format. +-See the OUTPUT FORMATS section below. +-.TP +-\fB\-i\fR , \fB\-\-input\fR +-Read topology from XML file (instead of discovering the +-topology on the local machine). If is "\-", the standard input +-is used. XML support must have been compiled in to hwloc for this +-option to be usable. +-.TP +-\fB\-i\fR , \fB\-\-input\fR +-Read topology from the chroot specified by (instead of +-discovering the topology on the local machine). This option is +-generally only available on Linux. The chroot was usually created +-by gathering another machine topology with hwloc-gather-topology. +-.TP +-\fB\-i\fR , \fB\-\-input\fR +-Simulate a fake hierarchy (instead of discovering the topology on the +-local machine). If is "node:2 pu:3", the topology will +-contain two NUMA nodes with 3 processing units in each of them. +-The string must end with a number of PUs. +-.TP +-\fB\-\-if\fR , \fB\-\-input\-format\fR +-Enforce the input in the given format, among \fBxml\fR, \fBfsroot\fR +-and \fBsynthetic\fR. +-.TP +-\fB\-v\fR \fB\-\-verbose\fR +-Include additional detail. +-The hwloc-info tool may be used to display even more information +-about specific objects. +-.TP +-\fB\-s\fR \fB\-\-silent\fR +-Reduce the amount of details to show. +-.TP +-\fB\-l\fR \fB\-\-logical\fR +-Display hwloc logical indexes instead of physical/OS indexes (default for console output). +-These indexes are prefixed with "L#". +-The physical indexes of some objects (PU and Node by default, all +-objects if verbose) will appear as object attribute "P#...". +-.TP +-\fB\-p\fR \fB\-\-physical\fR +-Display OS/physical indexes instead of hwloc logical indexes (default for graphical output). +-These indexes are prefixed with "P#" instead of "L#" in the console output. +-.TP +-\fB\-c\fR \fB\-\-cpuset\fR +-Display the cpuset of each object. +-.TP +-\fB\-C\fR \fB\-\-cpuset\-only\fR +-Only display the cpuset of each object; do not display anything else +-about the object. +-.TP +-\fB\-\-taskset\fR +-Show CPU set strings in the format recognized by the taskset command-line +-program instead of hwloc-specific CPU set string format. +-This option should be combined with \fB\-\-cpuset\fR or \fB\-\-cpuset\-only\fR, +-otherwise it will imply \fB\-\-cpuset\fR. +-.TP +-\fB\-\-only\fR +-Only show objects of the given type in the textual output. +-.TP +-\fB\-\-ignore\fR +-Ignore all objects of type in the topology. +-hwloc supports ignoring any type except PUs and I/O devices. +-However lstopo still offers PU ignoring by hiding PU objects +-in the graphical and textual outputs. +-Note that PU may not be ignored in the XML output. +-.TP +-\fB\-\-no\-caches\fR +-Do not show caches. +-.TP +-\fB\-\-no\-useless\-caches\fR +-Do not show caches which do not have a hierarchical impact. +-.TP +-\fB\-\-no\-icaches\fR +-Do not show Instruction caches, only Data and Unified caches are displayed. +-.TP +-\fB\-\-whole\-system\fR +-Do not consider administration limitations. +-.TP +-\fB\-\-merge\fR +-Do not show levels that do not have a hierarchical impact. +-.TP +-\fB\-\-restrict\fR +-Restrict the topology to the given cpuset. +-.TP +-\fB\-\-restrict\fR binding +-Restrict the topology to the current process binding. +-This option requires the use of the actual current machine topology +-(or any other topology with \fB\-\-thissystem\fR or with +-HWLOC_THISSYSTEM set to 1 in the environment). +-.TP +-\fB\-\-no\-io\fB +-Do not show any I/O device or bridge. +-By default, common devices (GPUs, NICs, block devices, ...) and +-interesting bridges are shown. +-.TP +-\fB\-\-no\-bridges\fB +-Do not show any I/O bridge except hostbridges. +-By default, common devices (GPUs, NICs, block devices, ...) and +-interesting bridges are shown. +-.TP +-\fB\-\-whole\-io\fB +-Show all I/O devices and bridges. +-By default, only common devices (GPUs, NICs, block devices, ...) and +-interesting bridges are shown. +-.TP +-\fB\-\-thissystem\fR +-Assume that the selected backend provides the topology for the +-system on which we are running. +-This is useful when using \fB\-\-restrict\fR binding and loading +-a custom topology such as an XML file. +-.TP +-\fB\-\-pid\fR +-Detect topology as seen by process , i.e. as if process did the +-discovery itself. +-Note that this can for instance change the set of allowed processors. +-Also show this process current CPU binding by marking the corresponding +-PUs (in Green in the graphical output, see the COLORS section below, +-or by appending \fI(binding)\fR to the verbose text output). +-If 0 is given as pid, the current binding for the lstopo process will be shown. +-.TP +-\fB\-\-ps\fR \fB\-\-top\fR +-Show existing processes as misc objects in the output. To avoid uselessly +-cluttering the output, only processes that are restricted to some part of the +-machine are shown. On Linux, kernel threads are not shown. +-If many processes appear, the output may become hard to read anyway, +-making the hwloc-ps program more practical. +-.TP +-\fB\-\-fontsize\fR +-Set size of text font. +-.TP +-\fB\-\-gridsize\fR +-Set size of margin between elements. +-.TP +-\fB\-\-horiz\fR, \fB\-\-horiz\fR= +-Horizontal graphical layout instead of nearly 4/3 ratio. +-If a comma-separated list of types is given, the layout only +-applies to the corresponding containers. +-.TP +-\fB\-\-vert\fR, \fB\-\-vert\fR= +-Vertical graphical layout instead of nearly 4/3 ratio. +-If a comma-separated list of types is given, the layout only +-applies to the corresponding containers. +-.TP +-\fB\-\-no\-legend\fR +-Remove the text legend at the bottom. +-.TP +-\fB\-\-version\fR +-Report version and exit. +-. +-.\" ************************** +-.\" Description Section +-.\" ************************** +-.SH DESCRIPTION +-. +-lstopo and lstopo-no-graphics are capable of displaying a topological map of +-the system in a variety of different output formats. The only difference +-between lstopo and lstopo-no-graphics is that graphical outputs are only +-supported by lstopo, to reduce dependencies on external libraries. +-. +-.PP +-If no filename is specified and the DISPLAY environment variable is set, +-lstopo displays the map in a graphical window. If no filename is +-specified and the DISPLAY environment variable is +-.I not +-set, a text summary is displayed. +-. +-.PP +-The filename specified directly implies the output format that will be +-used; see the OUTPUT FORMATS section, below. Output formats that +-support color will indicate specific characteristics about individual +-CPUs by their color; see the COLORS section, below. +-. +-.\" ************************** +-.\" Output Formats Section +-.\" ************************** +-.SH OUTPUT FORMATS +-. +-.PP +-The filename on the command line usually determines the format of the output. +-There are a few filenames that indicate specific output formats and +-devices (e.g., a filename of "-" will output a text summary to +-stdout), but most filenames indicate the desired output format by +-their suffix (e.g., "topo.png" will output a PNG-format file). +-.PP +-The format of the output may also be changed with "\-\-of". +-For instance, "\-\-of pdf" will generate a PDF-format file on the standard +-output, while "\-\-of fig toto" will output a Xfig-format file named "toto". +- +-.PP +-The list of currently supported formats is given below. Any of them may +-be used with "\-\-of" or as a filename suffix. +-.TP +-.B default +-Send the output to a window or to the console depending on the environment. +-. +-.TP +-.B console +-Send a text summary to stdout. +-Binding, unallowed or offline processors are only annotated in this mode +-if verbose; see the COLORS section, below. +-. +-.TP +-.B txt +-Output an ASCII art representation of the map. +-If outputting to stdout and if colors are supported on the terminal, +-the output will be colorized. +-. +-.TP +-.B fig +-Output a representation of the map that can be loaded in Xfig. +-. +-.TP +-.B pdf +-If lstopo was compiled with the proper +-support, lstopo outputs a PDF representation of the map. +-. +-.TP +-.B ps +-If lstopo was compiled with the proper +-support, lstopo outputs a Postscript representation of the map. +-. +-.TP +-.B png +-If lstopo was compiled with the proper +-support, lstopo outputs a PNG representation of the map. +-. +-.TP +-.B svg +-If lstopo was compiled with the proper +-support, lstopo outputs an SVG representation of the map. +-. +-.TP +-.B synthetic +-If the topology is symmetric +-(which requires that the root object has its symmetric_subtree field set), +-lstopo outputs a synthetic description string. +-This output may be reused as an input synthetic topology +-description later. +-Note that I/O devices often cause topology asymmetry. +-Adding \-\-no\-io may then be useful when the synthetic export fails. +-See also the Synthetic topologies section in the documentation. +-. +-.TP +-.B xml +-If lstopo was compiled with the proper +-support, lstopo outputs an XML representation of the map. +-It may be reused later, even on another machine, with lstopo \-\-input, +-the HWLOC_XMLFILE environment variable, or the hwloc_topology_set_xml() +-function. +- +-.PP +-The following special names may be used: +-.TP +-.B \- +-Send a text summary to stdout. +-. +-.TP +-.B /dev/stdout +-Send a text summary to stdout. It is effectively the same as +-specifying "\-". +-. +-.TP +-.B \-. +-If the entire filename is "\-.", lstopo behaves as if +-"\-\-of -" was given, which means a file of the given format +-is sent to the standard output. +- +-.PP +-See the output of "lstopo \-\-help" for a specific list of what +-graphical output formats are supported in your hwloc installation. +-. +-.\" ************************** +-.\" Colors Section +-.\" ************************** +-.SH COLORS +-Individual CPUs are colored in the semi-graphical and graphical output +-formats to indicate different characteristics: +-.TP +-Green +-The topology is reported as seen by a specific process (see \fB\-\-pid\fR), +-and the given CPU is in this process CPU binding mask. +-.TP +-White +-The CPU is in the allowed set (see below). +-If the topology is reported as seen by a specific process (see \fB\-\-pid\fR), +-the given CPU is also not in this process CPU binding mask. +-.TP +-Red +-The CPU is not in the allowed set (see below). +-.TP +-Black +-The CPU is offline (not all OS's support displaying offline CPUs). +-. +-.PP +-The "allowed set" is the set of CPUs to which the current process is +-allowed to bind. The allowed set is usually either inherited from the +-parent process or set by administrative qpolicies on the system. Linux +-cpusets are one example of limiting the allowed set for a process and +-its children to be less than the full set of CPUs on the system. +-.PP +-Different processes may therefore have different CPUs in the allowed +-set. Hence, invoking lstopo in different contexts and/or as different +-users may display different colors for the same individual CPUs (e.g., +-running lstopo in one context may show a specific CPU as red, but +-running lstopo in a different context may show the same CPU as white). +-.PP +-Some lstopo output modes, e.g. the console mode (default non-graphical output), +-do not support colors at all. +-The console mode displays the above characteristics by appending text +-to each PU line if verbose messages are enabled. +-. +-.\" ************************** +-.\" Layout Section +-.\" ************************** +-.SH LAYOUT +-In its graphical output, lstopo uses simple rectangular heuristics +-to try to achieve a 4/3 ratio between width and height. However, +-in the particular case of NUMA nodes, the layout is always a flat +-rectangle, to avoid letting the user believe any particular NUMA +-topology (lstopo is not able to render that yet). +-. +-.\" ************************** +-.\" Examples Section +-.\" ************************** +-.SH EXAMPLES +-. +-To display the machine topology in textual mode: +- +- lstopo-no-graphics +- +-To display the machine topology in pseudo-graphical mode: +- +- lstopo-no-graphics -.txt +- +-To display in graphical mode (assuming that the DISPLAY environment +-variable is set to a relevant value): +- +- lstopo +- +-To export the topology to a PNG file: +- +- lstopo file.png +- +-To export an XML file on a machine and later display the corresponding +-graphical output on another machine: +- +- machine1$ lstopo file.xml +- +- machine2$ lstopo --input file.xml +- +-To save the current machine topology to XML and later reload it faster +-while still considering it as the current machine: +- +- $ lstopo file.xml +- <...> +- $ lstopo --input file.xml --thissystem +- +-To restrict an XML topology to only physical processors 0, 1, 4 and 5: +- +- lstopo --input file.xml --restrict 0x33 newfile.xml +- +-To restrict an XML topology to only numa node whose logical index is 1: +- +- lstopo --input file.xml --restrict $(hwloc-calc --input file.xml node:1) newfile.xml +- +-To display a summary of the topology: +- +- lstopo -s +- +-To get more details about the topology: +- +- lstopo -v +- +-To only show cores: +- +- lstopo --only core +- +-To show cpusets: +- +- lstopo --cpuset +- +-To only show the cpusets of sockets: +- +- lstopo --only socket --cpuset-only +- +-Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2 +-processor units: +- +- lstopo --input "n:2 2" +- +-To count the number of logical processors in the system +- +- lstopo --only pu | wc -l +-.\" ************************** +-.\" See also section +-.\" ************************** +-.SH SEE ALSO +-. +-.ft R +-hwloc(7), hwloc-info(1), hwloc-bind(1), hwloc-ps(1), hwloc-gather-topology(1) +-.sp +diff -Nrup hwloc-1.7.orig/utils/lstopo-no-graphics.1in hwloc-1.7/utils/lstopo-no-graphics.1in +--- hwloc-1.7.orig/utils/lstopo-no-graphics.1in 1969-12-31 19:00:00.000000000 -0500 ++++ hwloc-1.7/utils/lstopo-no-graphics.1in 2013-03-26 16:00:18.000000000 -0400 +@@ -0,0 +1,433 @@ ++.\" -*- nroff -*- ++.\" Copyright © 2009-2013 Inria. All rights reserved. ++.\" Copyright © 2009-2010 Université of Bordeaux ++.\" Copyright © 2009-2010 Cisco Systems, Inc. All rights reserved. ++.\" See COPYING in top-level directory. ++.TH LSTOPO "1" "#HWLOC_DATE#" "#PACKAGE_VERSION#" "#PACKAGE_NAME#" ++.SH NAME ++lstopo, lstopo-no-graphics \- Show the topology of the system ++. ++.\" ************************** ++.\" Synopsis Section ++.\" ************************** ++.SH SYNOPSIS ++. ++.B lstopo ++[ \fIoptions \fR]... [ \fIfilename \fR] ++. ++.PP ++.B lstopo-no-graphics ++[ \fIoptions \fR]... [ \fIfilename \fR] ++. ++.PP ++Note that hwloc(7) provides a detailed explanation of the hwloc system; it ++should be read before reading this man page ++. ++.\" ************************** ++.\" Options Section ++.\" ************************** ++.SH OPTIONS ++. ++.TP ++\fB\-\-of\fR , \fB\-\-output\-format\fR ++Enforce the output in the given format. ++See the OUTPUT FORMATS section below. ++.TP ++\fB\-i\fR , \fB\-\-input\fR ++Read topology from XML file (instead of discovering the ++topology on the local machine). If is "\-", the standard input ++is used. XML support must have been compiled in to hwloc for this ++option to be usable. ++.TP ++\fB\-i\fR , \fB\-\-input\fR ++Read topology from the chroot specified by (instead of ++discovering the topology on the local machine). This option is ++generally only available on Linux. The chroot was usually created ++by gathering another machine topology with hwloc-gather-topology. ++.TP ++\fB\-i\fR , \fB\-\-input\fR ++Simulate a fake hierarchy (instead of discovering the topology on the ++local machine). If is "node:2 pu:3", the topology will ++contain two NUMA nodes with 3 processing units in each of them. ++The string must end with a number of PUs. ++.TP ++\fB\-\-if\fR , \fB\-\-input\-format\fR ++Enforce the input in the given format, among \fBxml\fR, \fBfsroot\fR ++and \fBsynthetic\fR. ++.TP ++\fB\-v\fR \fB\-\-verbose\fR ++Include additional detail. ++The hwloc-info tool may be used to display even more information ++about specific objects. ++.TP ++\fB\-s\fR \fB\-\-silent\fR ++Reduce the amount of details to show. ++.TP ++\fB\-l\fR \fB\-\-logical\fR ++Display hwloc logical indexes instead of physical/OS indexes (default for console output). ++These indexes are prefixed with "L#". ++The physical indexes of some objects (PU and Node by default, all ++objects if verbose) will appear as object attribute "P#...". ++.TP ++\fB\-p\fR \fB\-\-physical\fR ++Display OS/physical indexes instead of hwloc logical indexes (default for graphical output). ++These indexes are prefixed with "P#" instead of "L#" in the console output. ++.TP ++\fB\-c\fR \fB\-\-cpuset\fR ++Display the cpuset of each object. ++.TP ++\fB\-C\fR \fB\-\-cpuset\-only\fR ++Only display the cpuset of each object; do not display anything else ++about the object. ++.TP ++\fB\-\-taskset\fR ++Show CPU set strings in the format recognized by the taskset command-line ++program instead of hwloc-specific CPU set string format. ++This option should be combined with \fB\-\-cpuset\fR or \fB\-\-cpuset\-only\fR, ++otherwise it will imply \fB\-\-cpuset\fR. ++.TP ++\fB\-\-only\fR ++Only show objects of the given type in the textual output. ++.TP ++\fB\-\-ignore\fR ++Ignore all objects of type in the topology. ++hwloc supports ignoring any type except PUs and I/O devices. ++However lstopo still offers PU ignoring by hiding PU objects ++in the graphical and textual outputs. ++Note that PU may not be ignored in the XML output. ++.TP ++\fB\-\-no\-caches\fR ++Do not show caches. ++.TP ++\fB\-\-no\-useless\-caches\fR ++Do not show caches which do not have a hierarchical impact. ++.TP ++\fB\-\-no\-icaches\fR ++Do not show Instruction caches, only Data and Unified caches are displayed. ++.TP ++\fB\-\-whole\-system\fR ++Do not consider administration limitations. ++.TP ++\fB\-\-merge\fR ++Do not show levels that do not have a hierarchical impact. ++.TP ++\fB\-\-restrict\fR ++Restrict the topology to the given cpuset. ++.TP ++\fB\-\-restrict\fR binding ++Restrict the topology to the current process binding. ++This option requires the use of the actual current machine topology ++(or any other topology with \fB\-\-thissystem\fR or with ++HWLOC_THISSYSTEM set to 1 in the environment). ++.TP ++\fB\-\-no\-io\fB ++Do not show any I/O device or bridge. ++By default, common devices (GPUs, NICs, block devices, ...) and ++interesting bridges are shown. ++.TP ++\fB\-\-no\-bridges\fB ++Do not show any I/O bridge except hostbridges. ++By default, common devices (GPUs, NICs, block devices, ...) and ++interesting bridges are shown. ++.TP ++\fB\-\-whole\-io\fB ++Show all I/O devices and bridges. ++By default, only common devices (GPUs, NICs, block devices, ...) and ++interesting bridges are shown. ++.TP ++\fB\-\-thissystem\fR ++Assume that the selected backend provides the topology for the ++system on which we are running. ++This is useful when using \fB\-\-restrict\fR binding and loading ++a custom topology such as an XML file. ++.TP ++\fB\-\-pid\fR ++Detect topology as seen by process , i.e. as if process did the ++discovery itself. ++Note that this can for instance change the set of allowed processors. ++Also show this process current CPU binding by marking the corresponding ++PUs (in Green in the graphical output, see the COLORS section below, ++or by appending \fI(binding)\fR to the verbose text output). ++If 0 is given as pid, the current binding for the lstopo process will be shown. ++.TP ++\fB\-\-ps\fR \fB\-\-top\fR ++Show existing processes as misc objects in the output. To avoid uselessly ++cluttering the output, only processes that are restricted to some part of the ++machine are shown. On Linux, kernel threads are not shown. ++If many processes appear, the output may become hard to read anyway, ++making the hwloc-ps program more practical. ++.TP ++\fB\-\-fontsize\fR ++Set size of text font. ++.TP ++\fB\-\-gridsize\fR ++Set size of margin between elements. ++.TP ++\fB\-\-horiz\fR, \fB\-\-horiz\fR= ++Horizontal graphical layout instead of nearly 4/3 ratio. ++If a comma-separated list of types is given, the layout only ++applies to the corresponding containers. ++.TP ++\fB\-\-vert\fR, \fB\-\-vert\fR= ++Vertical graphical layout instead of nearly 4/3 ratio. ++If a comma-separated list of types is given, the layout only ++applies to the corresponding containers. ++.TP ++\fB\-\-no\-legend\fR ++Remove the text legend at the bottom. ++.TP ++\fB\-\-version\fR ++Report version and exit. ++. ++.\" ************************** ++.\" Description Section ++.\" ************************** ++.SH DESCRIPTION ++. ++lstopo and lstopo-no-graphics are capable of displaying a topological map of ++the system in a variety of different output formats. The only difference ++between lstopo and lstopo-no-graphics is that graphical outputs are only ++supported by lstopo, to reduce dependencies on external libraries. ++. ++.PP ++If no filename is specified and the DISPLAY environment variable is set, ++lstopo displays the map in a graphical window. If no filename is ++specified and the DISPLAY environment variable is ++.I not ++set, a text summary is displayed. ++. ++.PP ++The filename specified directly implies the output format that will be ++used; see the OUTPUT FORMATS section, below. Output formats that ++support color will indicate specific characteristics about individual ++CPUs by their color; see the COLORS section, below. ++. ++.\" ************************** ++.\" Output Formats Section ++.\" ************************** ++.SH OUTPUT FORMATS ++. ++.PP ++The filename on the command line usually determines the format of the output. ++There are a few filenames that indicate specific output formats and ++devices (e.g., a filename of "-" will output a text summary to ++stdout), but most filenames indicate the desired output format by ++their suffix (e.g., "topo.png" will output a PNG-format file). ++.PP ++The format of the output may also be changed with "\-\-of". ++For instance, "\-\-of pdf" will generate a PDF-format file on the standard ++output, while "\-\-of fig toto" will output a Xfig-format file named "toto". ++ ++.PP ++The list of currently supported formats is given below. Any of them may ++be used with "\-\-of" or as a filename suffix. ++.TP ++.B default ++Send the output to a window or to the console depending on the environment. ++. ++.TP ++.B console ++Send a text summary to stdout. ++Binding, unallowed or offline processors are only annotated in this mode ++if verbose; see the COLORS section, below. ++. ++.TP ++.B txt ++Output an ASCII art representation of the map. ++If outputting to stdout and if colors are supported on the terminal, ++the output will be colorized. ++. ++.TP ++.B fig ++Output a representation of the map that can be loaded in Xfig. ++. ++.TP ++.B pdf ++If lstopo was compiled with the proper ++support, lstopo outputs a PDF representation of the map. ++. ++.TP ++.B ps ++If lstopo was compiled with the proper ++support, lstopo outputs a Postscript representation of the map. ++. ++.TP ++.B png ++If lstopo was compiled with the proper ++support, lstopo outputs a PNG representation of the map. ++. ++.TP ++.B svg ++If lstopo was compiled with the proper ++support, lstopo outputs an SVG representation of the map. ++. ++.TP ++.B synthetic ++If the topology is symmetric ++(which requires that the root object has its symmetric_subtree field set), ++lstopo outputs a synthetic description string. ++This output may be reused as an input synthetic topology ++description later. ++Note that I/O devices often cause topology asymmetry. ++Adding \-\-no\-io may then be useful when the synthetic export fails. ++See also the Synthetic topologies section in the documentation. ++. ++.TP ++.B xml ++If lstopo was compiled with the proper ++support, lstopo outputs an XML representation of the map. ++It may be reused later, even on another machine, with lstopo \-\-input, ++the HWLOC_XMLFILE environment variable, or the hwloc_topology_set_xml() ++function. ++ ++.PP ++The following special names may be used: ++.TP ++.B \- ++Send a text summary to stdout. ++. ++.TP ++.B /dev/stdout ++Send a text summary to stdout. It is effectively the same as ++specifying "\-". ++. ++.TP ++.B \-. ++If the entire filename is "\-.", lstopo behaves as if ++"\-\-of -" was given, which means a file of the given format ++is sent to the standard output. ++ ++.PP ++See the output of "lstopo \-\-help" for a specific list of what ++graphical output formats are supported in your hwloc installation. ++. ++.\" ************************** ++.\" Colors Section ++.\" ************************** ++.SH COLORS ++Individual CPUs are colored in the semi-graphical and graphical output ++formats to indicate different characteristics: ++.TP ++Green ++The topology is reported as seen by a specific process (see \fB\-\-pid\fR), ++and the given CPU is in this process CPU binding mask. ++.TP ++White ++The CPU is in the allowed set (see below). ++If the topology is reported as seen by a specific process (see \fB\-\-pid\fR), ++the given CPU is also not in this process CPU binding mask. ++.TP ++Red ++The CPU is not in the allowed set (see below). ++.TP ++Black ++The CPU is offline (not all OS's support displaying offline CPUs). ++. ++.PP ++The "allowed set" is the set of CPUs to which the current process is ++allowed to bind. The allowed set is usually either inherited from the ++parent process or set by administrative qpolicies on the system. Linux ++cpusets are one example of limiting the allowed set for a process and ++its children to be less than the full set of CPUs on the system. ++.PP ++Different processes may therefore have different CPUs in the allowed ++set. Hence, invoking lstopo in different contexts and/or as different ++users may display different colors for the same individual CPUs (e.g., ++running lstopo in one context may show a specific CPU as red, but ++running lstopo in a different context may show the same CPU as white). ++.PP ++Some lstopo output modes, e.g. the console mode (default non-graphical output), ++do not support colors at all. ++The console mode displays the above characteristics by appending text ++to each PU line if verbose messages are enabled. ++. ++.\" ************************** ++.\" Layout Section ++.\" ************************** ++.SH LAYOUT ++In its graphical output, lstopo uses simple rectangular heuristics ++to try to achieve a 4/3 ratio between width and height. However, ++in the particular case of NUMA nodes, the layout is always a flat ++rectangle, to avoid letting the user believe any particular NUMA ++topology (lstopo is not able to render that yet). ++. ++.\" ************************** ++.\" Examples Section ++.\" ************************** ++.SH EXAMPLES ++. ++To display the machine topology in textual mode: ++ ++ lstopo-no-graphics ++ ++To display the machine topology in pseudo-graphical mode: ++ ++ lstopo-no-graphics -.txt ++ ++To display in graphical mode (assuming that the DISPLAY environment ++variable is set to a relevant value): ++ ++ lstopo ++ ++To export the topology to a PNG file: ++ ++ lstopo file.png ++ ++To export an XML file on a machine and later display the corresponding ++graphical output on another machine: ++ ++ machine1$ lstopo file.xml ++ ++ machine2$ lstopo --input file.xml ++ ++To save the current machine topology to XML and later reload it faster ++while still considering it as the current machine: ++ ++ $ lstopo file.xml ++ <...> ++ $ lstopo --input file.xml --thissystem ++ ++To restrict an XML topology to only physical processors 0, 1, 4 and 5: ++ ++ lstopo --input file.xml --restrict 0x33 newfile.xml ++ ++To restrict an XML topology to only numa node whose logical index is 1: ++ ++ lstopo --input file.xml --restrict $(hwloc-calc --input file.xml node:1) newfile.xml ++ ++To display a summary of the topology: ++ ++ lstopo -s ++ ++To get more details about the topology: ++ ++ lstopo -v ++ ++To only show cores: ++ ++ lstopo --only core ++ ++To show cpusets: ++ ++ lstopo --cpuset ++ ++To only show the cpusets of sockets: ++ ++ lstopo --only socket --cpuset-only ++ ++Simulate a fake hierarchy; this example shows with 2 NUMA nodes of 2 ++processor units: ++ ++ lstopo --input "n:2 2" ++ ++To count the number of logical processors in the system ++ ++ lstopo --only pu | wc -l ++.\" ************************** ++.\" See also section ++.\" ************************** ++.SH SEE ALSO ++. ++.ft R ++hwloc(7), hwloc-info(1), hwloc-bind(1), hwloc-ps(1), hwloc-gather-topology(1) ++.sp +diff -Nrup hwloc-1.7.orig/utils/Makefile.am hwloc-1.7/utils/Makefile.am +--- hwloc-1.7.orig/utils/Makefile.am 2013-03-26 16:00:18.000000000 -0400 ++++ hwloc-1.7/utils/Makefile.am 2015-07-13 17:04:30.291528739 -0400 +@@ -1,4 +1,4 @@ +-# Copyright © 2009-2013 Inria. All rights reserved. ++# Copyright © 2009-2014 Inria. All rights reserved. + # Copyright © 2009-2012 Université Bordeaux 1 + # Copyright © 2009-2011 Cisco Systems, Inc. All rights reserved. + # +@@ -57,7 +57,7 @@ man7_pages = hwloc.7 + EXTRA_DIST += $(man7_pages:.7=.7in) + nodist_man_MANS = $(man7_pages) + +-man1_pages = lstopo.1 hwloc-annotate.1 hwloc-bind.1 hwloc-calc.1 hwloc-distances.1 hwloc-distrib.1 hwloc-info.1 hwloc-ps.1 hwloc-assembler.1 hwloc-assembler-remote.1 ++man1_pages = lstopo-no-graphics.1 hwloc-annotate.1 hwloc-bind.1 hwloc-calc.1 hwloc-distances.1 hwloc-distrib.1 hwloc-info.1 hwloc-ps.1 hwloc-assembler.1 hwloc-assembler-remote.1 + EXTRA_DIST += $(man1_pages:.1=.1in) + nodist_man_MANS += $(man1_pages) + +@@ -101,9 +101,9 @@ if !HWLOC_HAVE_CAIRO + endif + endif + rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 +- cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo.1 hwloc-ls.1 +- rm -f $(DESTDIR)$(man1dir)/lstopo-no-graphics.1 +- cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo.1 lstopo-no-graphics.1 ++ cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo-no-graphics.1 hwloc-ls.1 ++ rm -f $(DESTDIR)$(man1dir)/lstopo.1 ++ cd $(DESTDIR)$(man1dir) && $(LN_S) lstopo-no-graphics.1 lstopo.1 + $(SED) -e 's/HWLOC_top_builddir\/utils/bindir/' -e '/HWLOC_top_builddir/d' $(DESTDIR)$(bindir)/hwloc-assembler-remote > $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp && mv -f $(DESTDIR)$(bindir)/hwloc-assembler-remote.tmp $(DESTDIR)$(bindir)/hwloc-assembler-remote + chmod +x $(DESTDIR)$(bindir)/hwloc-assembler-remote + +@@ -114,7 +114,7 @@ if !HWLOC_HAVE_CAIRO + rm -f $(DESTDIR)$(bindir)/lstopo$(EXEEXT) + endif + endif +- rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/lstopo-no-graphics.1 ++ rm -f $(DESTDIR)$(man1dir)/hwloc-ls.1 $(DESTDIR)$(man1dir)/lstopo.1 + + distclean-local: + rm -f $(nodist_man_MANS) diff --git a/SOURCES/hwloc-1.7-xeon-phi.patch b/SOURCES/hwloc-1.7-xeon-phi.patch new file mode 100644 index 0000000..03d382f --- /dev/null +++ b/SOURCES/hwloc-1.7-xeon-phi.patch @@ -0,0 +1,54 @@ +Combination of the following two upstream patches to make +Xeon Phi work correctly. + + +commit ca535e7eb7cd1df884189a36949499d17c297456 +Author: Brice Goglin +Date: Thu Apr 30 16:25:05 2015 +0200 + + x86: CPUID 0x1b is actually supported when we have the x2apic feature + + Thanks to Grzegorz Andrejczuk and Lukasz Anaczkowski. + + +commit 2119a8b499f73c2759380ccbad89bc4c0c297f11 +Author: Brice Goglin +Date: Thu Apr 30 16:27:24 2015 +0200 + + x86: Also get the real APIC ID from the x2APIC code + + This fixes support for the upcoming Knights Landing Xeon Phi. + + Thanks to Grzegorz Andrejczuk and Lukasz Anaczkowski. + +diff -Nrup hwloc-1.7.orig/src/topology-x86.c hwloc-1.7/src/topology-x86.c +--- hwloc-1.7.orig/src/topology-x86.c 2013-03-26 16:00:17.000000000 -0400 ++++ hwloc-1.7/src/topology-x86.c 2015-07-14 16:59:47.457390618 -0400 +@@ -23,6 +23,7 @@ + #include + + #define has_topoext(features) ((features)[6] & (1 << 22)) ++#define has_x2apic(features) ((features)[4] & (1 << 21)) + + struct cacheinfo { + unsigned type; +@@ -301,7 +302,7 @@ static void look_proc(struct procinfo *i + } + } + +- if (cpuid_type == intel && highest_cpuid >= 0x0b) { ++ if (cpuid_type == intel && has_x2apic(features)) { + unsigned level, apic_nextshift, apic_number, apic_type, apic_id = 0, apic_shift = 0, id; + for (level = 0; ; level++) { + ecx = level; +@@ -341,8 +342,10 @@ static void look_proc(struct procinfo *i + } + apic_shift = apic_nextshift; + } ++ infos->apicid = apic_id; + infos->socketid = apic_id >> apic_shift; + hwloc_debug("x2APIC remainder: %d\n", infos->socketid); ++ hwloc_debug("this is thread %u of core %u\n", infos->threadid, infos->coreid); + } else + infos->otherids = NULL; + } else diff --git a/SPECS/hwloc.spec b/SPECS/hwloc.spec index e6c8226..51dbf72 100644 --- a/SPECS/hwloc.spec +++ b/SPECS/hwloc.spec @@ -1,16 +1,20 @@ Summary: Portable Hardware Locality - portable abstraction of hierarchical architectures Name: hwloc Version: 1.7 -Release: 3%{?dist} +Release: 5%{?dist} License: BSD Group: Applications/System URL: http://www.open-mpi.org/projects/hwloc/ Source0: http://www.open-mpi.org/software/hwloc/v1.7/downloads/%{name}-%{version}.tar.bz2 Patch0: hwloc-1.7.patch Patch1: hwloc-1.7-manpage.patch +Patch2: hwloc-1.7-lstopo-manpage.patch +Patch3: hwloc-1.7-desktop-entry.patch +Patch4: hwloc-1.7-xeon-phi.patch Requires: %{name}-libs = %{version}-%{release} BuildRequires: libX11-devel libxml2-devel cairo-devel ncurses-devel libpciaccess-devel transfig doxygen texlive-latex texlive-makeindex libtool-ltdl-devel autoconf automake libtool +BuildRequires: desktop-file-utils %ifnarch s390 s390x BuildRequires: libibverbs-devel %endif @@ -60,6 +64,9 @@ GUI-based tool for displaying system topology information. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 +%patch4 -p1 %build autoreconf --force --install @@ -80,6 +87,7 @@ autoreconf --force --install %{__mv} %{buildroot}%{_defaultdocdir}/%{name} %{buildroot}%{_defaultdocdir}/%{name}-%{version} %{__cp} -p AUTHORS COPYING NEWS README VERSION %{buildroot}%{_defaultdocdir}/%{name}-%{version} %{__cp} -p doc/hwloc-hello.c %{buildroot}%{_defaultdocdir}/%{name}-%{version} +desktop-file-validate %{buildroot}/%{_datadir}/applications/lstopo.desktop %check %{__make} check @@ -118,9 +126,20 @@ autoreconf --force --install %files gui %{_bindir}/lstopo %{_mandir}/man1/lstopo.* +%{_datadir}/applications/lstopo.desktop %changelog +* Tue Jul 14 2015 Don Zickus - 1.7-5 +- Xeon Phi fixes + Resolves: rhbz1227786 + +* Tue Jul 14 2015 Don Zickus - 1.7-4 +- Fix dangling symlink for hwloc-ls manpage + Resolves: rhbz1081236 + Add desktop entry for lstopo + Resolves: rhbz1229313 + * Fri Jan 24 2014 Daniel Mach - 1.7-3 - Mass rebuild 2014-01-24