x86/ras: Get rid of mce_process_work()

Make mce_gen_pool_process() the workqueue function directly and save us
an indirection.

Signed-off-by: Borislav Petkov <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Tony Luck <[email protected]>
Cc: Yazen Ghannam <[email protected]>
Cc: linux-edac <[email protected]>
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
Borislav Petkov 2017-01-23 19:35:13 +01:00 • committed by Ingo Molnar
commit cff4c0391a
3 changed files with 3 additions and 13 deletions

View file

@ -72,7 +72,7 @@ struct llist_node *mce_gen_pool_prepare_records(void)
return new_head.first;
}
void mce_gen_pool_process(void)
void mce_gen_pool_process(struct work_struct *__unused)
{
struct llist_node *head;
struct mce_evt_llist *node, *tmp;

View file

@ -31,7 +31,7 @@ struct mce_evt_llist {
struct mce mce;
};
void mce_gen_pool_process(void);
void mce_gen_pool_process(struct work_struct *__unused);
bool mce_gen_pool_empty(void);
int mce_gen_pool_add(struct mce *mce);
int mce_gen_pool_init(void);

View file

@ -1315,16 +1315,6 @@ int memory_failure(unsigned long pfn, int vector, int flags)
}
#endif
/*
* Action optional processing happens here (picking up
* from the list of faulting pages that do_machine_check()
* placed into the genpool).
*/
static void mce_process_work(struct work_struct *dummy)
{
mce_gen_pool_process();
}
/*
* Periodic polling timer for "silent" machine check errors. If the
* poller finds an MCE, poll 2x faster. When the poller finds no more
@ -2165,7 +2155,7 @@ int __init mcheck_init(void)
mce_register_decode_chain(&mce_default_nb);
mcheck_vendor_init_severity();
INIT_WORK(&mce_work, mce_process_work);
INIT_WORK(&mce_work, mce_gen_pool_process);
init_irq_work(&mce_irq_work, mce_irq_work_cb);
return 0;