Revert "smp: Fix smp_call_function_single_async prototype"
This reverts commit 32e046965f
which is
commit 1139aeb1c521eb4a050920ce6c64c36c4f2a3ab7 upstream.
It changes the CRC on the smp_call_function_single_async() call, and
it's not really anything we need to worry about in this branch, so just
revert it to keep the CRC abi check happy.
Bug: 161946584
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I67424d26f9a278edad152ac196326480b343c7c3
This commit is contained in:
parent
5d03fd8082
commit
2035e3dda0
@ -57,7 +57,7 @@ void on_each_cpu_cond_mask(bool (*cond_func)(int cpu, void *info),
|
|||||||
smp_call_func_t func, void *info, bool wait,
|
smp_call_func_t func, void *info, bool wait,
|
||||||
gfp_t gfp_flags, const struct cpumask *mask);
|
gfp_t gfp_flags, const struct cpumask *mask);
|
||||||
|
|
||||||
int smp_call_function_single_async(int cpu, struct __call_single_data *csd);
|
int smp_call_function_single_async(int cpu, call_single_data_t *csd);
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
|
|
||||||
|
10
kernel/smp.c
10
kernel/smp.c
@ -104,12 +104,12 @@ void __init call_function_init(void)
|
|||||||
* previous function call. For multi-cpu calls its even more interesting
|
* previous function call. For multi-cpu calls its even more interesting
|
||||||
* as we'll have to ensure no other cpu is observing our csd.
|
* as we'll have to ensure no other cpu is observing our csd.
|
||||||
*/
|
*/
|
||||||
static __always_inline void csd_lock_wait(struct __call_single_data *csd)
|
static __always_inline void csd_lock_wait(call_single_data_t *csd)
|
||||||
{
|
{
|
||||||
smp_cond_load_acquire(&csd->flags, !(VAL & CSD_FLAG_LOCK));
|
smp_cond_load_acquire(&csd->flags, !(VAL & CSD_FLAG_LOCK));
|
||||||
}
|
}
|
||||||
|
|
||||||
static __always_inline void csd_lock(struct __call_single_data *csd)
|
static __always_inline void csd_lock(call_single_data_t *csd)
|
||||||
{
|
{
|
||||||
csd_lock_wait(csd);
|
csd_lock_wait(csd);
|
||||||
csd->flags |= CSD_FLAG_LOCK;
|
csd->flags |= CSD_FLAG_LOCK;
|
||||||
@ -122,7 +122,7 @@ static __always_inline void csd_lock(struct __call_single_data *csd)
|
|||||||
smp_wmb();
|
smp_wmb();
|
||||||
}
|
}
|
||||||
|
|
||||||
static __always_inline void csd_unlock(struct __call_single_data *csd)
|
static __always_inline void csd_unlock(call_single_data_t *csd)
|
||||||
{
|
{
|
||||||
WARN_ON(!(csd->flags & CSD_FLAG_LOCK));
|
WARN_ON(!(csd->flags & CSD_FLAG_LOCK));
|
||||||
|
|
||||||
@ -139,7 +139,7 @@ static DEFINE_PER_CPU_SHARED_ALIGNED(call_single_data_t, csd_data);
|
|||||||
* for execution on the given CPU. data must already have
|
* for execution on the given CPU. data must already have
|
||||||
* ->func, ->info, and ->flags set.
|
* ->func, ->info, and ->flags set.
|
||||||
*/
|
*/
|
||||||
static int generic_exec_single(int cpu, struct __call_single_data *csd,
|
static int generic_exec_single(int cpu, call_single_data_t *csd,
|
||||||
smp_call_func_t func, void *info)
|
smp_call_func_t func, void *info)
|
||||||
{
|
{
|
||||||
if (cpu == smp_processor_id()) {
|
if (cpu == smp_processor_id()) {
|
||||||
@ -332,7 +332,7 @@ EXPORT_SYMBOL(smp_call_function_single);
|
|||||||
* NOTE: Be careful, there is unfortunately no current debugging facility to
|
* NOTE: Be careful, there is unfortunately no current debugging facility to
|
||||||
* validate the correctness of this serialization.
|
* validate the correctness of this serialization.
|
||||||
*/
|
*/
|
||||||
int smp_call_function_single_async(int cpu, struct __call_single_data *csd)
|
int smp_call_function_single_async(int cpu, call_single_data_t *csd)
|
||||||
{
|
{
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ int smp_call_function_single(int cpu, void (*func) (void *info), void *info,
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(smp_call_function_single);
|
EXPORT_SYMBOL(smp_call_function_single);
|
||||||
|
|
||||||
int smp_call_function_single_async(int cpu, struct __call_single_data *csd)
|
int smp_call_function_single_async(int cpu, call_single_data_t *csd)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user