mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 23:22:31 +02:00
x86/alternatives: Move text_poke_array completion from smp_text_poke_batch_finish() and smp_text_poke_batch_flush() to smp_text_poke_batch_process()
Simplifies the code and improves code generation a bit: text data bss dec hex filename 14769 1017 4112 19898 4dba alternative.o.before 14742 1017 4112 19871 4d9f alternative.o.after Signed-off-by: Ingo Molnar <mingo@kernel.org> Cc: Juergen Gross <jgross@suse.com> Cc: "H . Peter Anvin" <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20250411054105.2341982-40-mingo@kernel.org
This commit is contained in:
parent
cca3473956
commit
7fbadb50d9
|
|
@ -2750,6 +2750,9 @@ static void smp_text_poke_batch_process(void)
|
|||
if (unlikely(!atomic_dec_and_test(refs)))
|
||||
atomic_cond_read_acquire(refs, !VAL);
|
||||
}
|
||||
|
||||
/* They are all completed: */
|
||||
text_poke_array.nr_entries = 0;
|
||||
}
|
||||
|
||||
static void __smp_text_poke_batch_add(void *addr, const void *opcode, size_t len, const void *emulate)
|
||||
|
|
@ -2857,20 +2860,16 @@ static bool text_poke_addr_ordered(void *addr)
|
|||
|
||||
void smp_text_poke_batch_finish(void)
|
||||
{
|
||||
if (text_poke_array.nr_entries) {
|
||||
if (text_poke_array.nr_entries)
|
||||
smp_text_poke_batch_process();
|
||||
text_poke_array.nr_entries = 0;
|
||||
}
|
||||
}
|
||||
|
||||
static void smp_text_poke_batch_flush(void *addr)
|
||||
{
|
||||
lockdep_assert_held(&text_mutex);
|
||||
|
||||
if (text_poke_array.nr_entries == TP_ARRAY_NR_ENTRIES_MAX || !text_poke_addr_ordered(addr)) {
|
||||
if (text_poke_array.nr_entries == TP_ARRAY_NR_ENTRIES_MAX || !text_poke_addr_ordered(addr))
|
||||
smp_text_poke_batch_process();
|
||||
text_poke_array.nr_entries = 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user