Revision be14eb619108fa8b7120eb2c42d66d5f623ae10e authored by Brian King on 10 September 2010, 07:03:21 UTC, committed by Jens Axboe on 10 September 2010, 07:03:21 UTC
While testing CPU DLPAR, the following problem was discovered.
We were DLPAR removing the first CPU, which in this case was
logical CPUs 0-3. CPUs 0-2 were already marked offline and
we were in the process of offlining CPU 3. After marking
the CPU inactive and offline in cpu_disable, but before the
cpu was completely idle (cpu_die), we ended up in __make_request
on CPU 3. There we looked at the topology map to see which CPU
to complete the I/O on and found no CPUs in the cpu_sibling_map.
This resulted in the block layer setting the completion cpu
to be NR_CPUS, which then caused an oops when we tried to
complete the I/O.

Fix this by sanity checking the value we return from blk_cpu_to_group
to be a valid cpu value.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
1 parent edce682
Raw File
Kconfig
#
# DECnet configuration
#
config DECNET
	tristate "DECnet Support"
	---help---
	  The DECnet networking protocol was used in many products made by
	  Digital (now Compaq).  It provides reliable stream and sequenced
	  packet communications over which run a variety of services similar
	  to those which run over TCP/IP.

	  To find some tools to use with the kernel layer support, please
	  look at Patrick Caulfield's web site:
	  <http://linux-decnet.sourceforge.net/>.

	  More detailed documentation is available in
	  <file:Documentation/networking/decnet.txt>.

	  Be sure to say Y to "/proc file system support" and "Sysctl support"
	  below when using DECnet, since you will need sysctl support to aid
	  in configuration at run time.

	  The DECnet code is also available as a module ( = code which can be
	  inserted in and removed from the running kernel whenever you want).
	  The module is called decnet.

config DECNET_ROUTER
	bool "DECnet: router support (EXPERIMENTAL)"
	depends on DECNET && EXPERIMENTAL
	select FIB_RULES
	---help---
	  Add support for turning your DECnet Endnode into a level 1 or 2
	  router.  This is an experimental, but functional option.  If you
	  do say Y here, then make sure that you also say Y to "Kernel/User
	  network link driver", "Routing messages" and "Network packet
	  filtering".  The first two are required to allow configuration via
	  rtnetlink (you will need Alexey Kuznetsov's iproute2 package
	  from <ftp://ftp.tux.org/pub/net/ip-routing/>). The "Network packet
	  filtering" option will be required for the forthcoming routing daemon
	  to work.

	  See <file:Documentation/networking/decnet.txt> for more information.

back to top