linux/drivers
Nathan Fontenot dc18d706a4 memory-hotplug: use dev_online for memhp_auto_online
Commit 31bc3858ea ("add automatic onlining policy for the newly added
memory") provides the capability to have added memory automatically
onlined during add, but this appears to be slightly broken.

The current implementation uses walk_memory_range() to call
online_memory_block, which uses memory_block_change_state() to online
the memory.  Instead, we should be calling device_online() for the
memory block in online_memory_block().  This would online the memory
(the memory bus online routine memory_subsys_online() called from
device_online calls memory_block_change_state()) and properly update the
device struct offline flag.

As a result of the current implementation, attempting to remove a memory
block after adding it using auto online fails.  This is because doing a
remove, for instance

  echo offline > /sys/devices/system/memory/memoryXXX/state

uses device_offline() which checks the dev->offline flag.

Link: http://lkml.kernel.org/r/20170222220744.8119.19687.stgit@ltcalpine2-lp14.aus.stglabs.ibm.com
Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michael Roth <mdroth@linux.vnet.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-02-24 17:46:56 -08:00
..
accessibility
acpi pci-v4.11-changes 2017-02-23 11:53:22 -08:00
amba
android mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
ata ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
atm
auxdisplay
base memory-hotplug: use dev_online for memhp_auto_online 2017-02-24 17:46:56 -08:00
bcma
block zram: extend zero pages to same element pages 2017-02-24 17:46:56 -08:00
bluetooth
bus ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
cdrom
char mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
clk ARM: DT updates for v4.11 2017-02-23 15:46:25 -08:00
clocksource
connector
cpufreq ARM: SoC non-urgent fixes for merge window 2017-02-23 15:28:04 -08:00
cpuidle
crypto crypto: cavium - switch to pci_alloc_irq_vectors 2017-02-23 20:11:02 +08:00
dax mm: replace FAULT_FLAG_SIZE with parameter to huge_fault 2017-02-24 17:46:54 -08:00
dca
devfreq
dio
dma
dma-buf
edac
eisa
extcon
firewire
firmware ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
fmc
fpga
fsi
gpio This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
gpu drm: remove unnecessary fault wrappers 2017-02-24 17:46:55 -08:00
hid
hsi mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
hv
hwmon
hwspinlock
hwtracing mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
i2c
ide
idle
iio
infiniband mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
input This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
iommu mm: wire up GFP flag passing in dma_alloc_from_contiguous 2017-02-24 17:46:55 -08:00
ipack
irqchip
isdn
leds This is the bulk of GPIO changes for the v4.11 cycle 2017-02-23 08:46:04 -08:00
lguest
lightnvm
macintosh
mailbox
mcb
md
media mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
memory ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
memstick
message
mfd
misc mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
mmc
mtd
net pci-v4.11-changes 2017-02-23 11:53:22 -08:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of DeviceTree updates for 4.11: 2017-02-22 19:23:14 -08:00
oprofile
parisc
parport
pci pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pcmcia
perf
phy pci-v4.11-changes 2017-02-23 11:53:22 -08:00
pinctrl
platform - Core Frameworks 2017-02-23 08:18:01 -08:00
pnp
power
powercap
pps
ps3
ptp 4.11 is going to be a relatively large release for KVM, with a little over 2017-02-22 18:22:53 -08:00
pwm
rapidio
ras
regulator
remoteproc
reset ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
rpmsg
rtc
s390
sbus
scsi mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
sfi
sh
sn
soc ARM: SoC driver updates 2017-02-23 15:57:04 -08:00
spi
spmi
ssb
staging mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
target mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
tc
thermal
thunderbolt
tty lib/show_mem.c: teach show_mem to work with the given nodemask 2017-02-22 16:41:30 -08:00
uio mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
usb mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
uwb
vfio VFIO updates for v4.11 2017-02-23 11:26:09 -08:00
vhost
video mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
virt
virtio
vlynq
vme
w1
watchdog
xen mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08:00
zorro
Kconfig
Makefile pci-v4.11-changes 2017-02-23 11:53:22 -08:00