aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2014-02-24 16:40:01 +0100
committerJens Axboe <axboe@fb.com>2014-02-24 14:47:09 -0800
commitfce8ad1568c57e7f334018dec4fa1744c926c135 (patch)
tree7660f5d36efc83f90b35200f28c807423549afde /tools/perf/scripts/python
parentwatchdog: Simplify a little the IPI call (diff)
downloadlinux-fce8ad1568c57e7f334018dec4fa1744c926c135.tar.gz
linux-fce8ad1568c57e7f334018dec4fa1744c926c135.zip
smp: Remove wait argument from __smp_call_function_single()
The main point of calling __smp_call_function_single() is to send an IPI in a pure asynchronous way. By embedding a csd in an object, a caller can send the IPI without waiting for a previous one to complete as is required by smp_call_function_single() for example. As such, sending this kind of IPI can be safe even when irqs are disabled. This flexibility comes at the expense of the caller who then needs to synchronize the csd lifecycle by himself and make sure that IPIs on a single csd are serialized. This is how __smp_call_function_single() works when wait = 0 and this usecase is relevant. Now there don't seem to be any usecase with wait = 1 that can't be covered by smp_call_function_single() instead, which is safer. Lets look at the two possible scenario: 1) The user calls __smp_call_function_single(wait = 1) on a csd embedded in an object. It looks like a nice and convenient pattern at the first sight because we can then retrieve the object from the IPI handler easily. But actually it is a waste of memory space in the object since the csd can be allocated from the stack by smp_call_function_single(wait = 1) and the object can be passed an the IPI argument. Besides that, embedding the csd in an object is more error prone because the caller must take care of the serialization of the IPIs for this csd. 2) The user calls __smp_call_function_single(wait = 1) on a csd that is allocated on the stack. It's ok but smp_call_function_single() can do it as well and it already takes care of the allocation on the stack. Again it's more simple and less error prone. Therefore, using the underscore prepend API version with wait = 1 is a bad pattern and a sign that the caller can do safer and more simple. There was a single user of that which has just been converted. So lets remove this option to discourage further users. Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Christoph Hellwig <hch@infradead.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jan Kara <jack@suse.cz> Cc: Jens Axboe <axboe@fb.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
n>/+43 2020-08-05net: dsa: sja1105: use detected device id instead of DT one on mismatchVladimir Oltean1-11/+24 2020-08-05tipc: set ub->ifindex for local ipv6 addressXin Long1-0/+8 2020-08-05ipv6: add ipv6_dev_find()Xin Long2-0/+41 2020-08-05net: openvswitch: silence suspicious RCU usage warningTonghao Zhang1-3/+3 2020-08-05Revert "vxlan: fix tos value before xmit"Hangbin Liu1-2/+2 2020-08-05ptp: only allow phase values lower than 1 periodVladimir Oltean1-0/+13 2020-08-05MAINTAINERS: update phylink/sfp keyword matchingRussell King1-1/+1 2020-08-05ALSA: hda/tegra: Add 100us dma stop delayMohan Kumar1-0/+1 2020-08-05ALSA: hda: Add dma stop delay variableMohan Kumar2-0/+10 2020-08-05ASoC: hda/tegra: Set buffer alignment to 128 bytesMohan Kumar1-0/+2 2020-08-05mmc: mediatek: make function msdc_cqe_disable() staticWei Yongjun1-1/+1 2020-08-05ALSA: seq: oss: Serialize ioctlsTakashi Iwai1-1/+7 2020-08-05MAINTAINERS: mmc: sdhci-of-at91: handover maintenance to Eugen HristevLudovic Desroches1-1/+1 2020-08-04farsync: switch from 'pci_' to 'dma_' APIChristophe JAILLET1-13/+12 2020-08-04wan: wanxl: switch from 'pci_' to 'dma_' APIChristophe JAILLET1-27/+27 2020-08-04hv_netvsc: do not use VF device if link is downStephen Hemminger1-3/+4 2020-08-04dpaa2-eth: Fix passing zero to 'PTR_ERR' warningYueHaibing1-3/+3 2020-08-04net: macb: Properly handle phylink on at91sam9xStefan Roese1-4/+7 2020-08-04hwmon: (adc128d818) Fix advanced configuration register initRoy van Doormaal1-12/+12 2020-08-04hwmon: (axi-fan-control) remove duplicate macrosAlexandru Ardelean1-4/+0 2020-08-04hwmon: (i5k_amb, vt8231) Drop uses of pci_read_config_*() return valueSaheed O. Bolarinwa2-8/+12 2020-08-04coccinelle: api: filter out memdup_user definitionsDenis Efremov1-4/+13 2020-08-04coccinelle: api: extend memdup_user rule with vmemdup_user()Denis Efremov1-0/+45 2020-08-04coccinelle: api: extend memdup_user transformation with GFP_USERDenis Efremov1-2/+6