[Patch V1 2/3] x86, mce: Refactor parts of mce_log() to reuse when logging from offline CPUs
Simply refactoring part of mce_log() to facilitate logging from offline CPUs. Signed-off-by: Ashok Raj Reviewed-by: Tony Luck --- arch/x86/kernel/cpu/mcheck/mce.c | 21 ++--- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 48bd244..2df073d 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -152,16 +152,10 @@ static struct mce_log mcelog = { .recordlen = sizeof(struct mce), }; -void mce_log(struct mce *mce) +static void mce_log_add(struct mce *mce) { unsigned next, entry; - /* Emit the trace record: */ - trace_mce_record(mce); - - if (!mce_gen_pool_add(mce)) - irq_work_queue(_irq_work); - mce->finished = 0; wmb(); for (;;) { @@ -199,6 +193,19 @@ void mce_log(struct mce *mce) set_bit(0, _need_notify); } +void mce_log(struct mce *mce) +{ + unsigned next, entry; + + /* Emit the trace record: */ + trace_mce_record(mce); + + if (!mce_gen_pool_add(mce)) + irq_work_queue(_irq_work); + + mce_log_add(mce); +} + void mce_inject_log(struct mce *m) { mutex_lock(_chrdev_read_mutex); -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[Patch V1 2/3] x86, mce: Refactor parts of mce_log() to reuse when logging from offline CPUs
Simply refactoring part of mce_log() to facilitate logging from offline CPUs. Signed-off-by: Ashok RajReviewed-by: Tony Luck --- arch/x86/kernel/cpu/mcheck/mce.c | 21 ++--- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c index 48bd244..2df073d 100644 --- a/arch/x86/kernel/cpu/mcheck/mce.c +++ b/arch/x86/kernel/cpu/mcheck/mce.c @@ -152,16 +152,10 @@ static struct mce_log mcelog = { .recordlen = sizeof(struct mce), }; -void mce_log(struct mce *mce) +static void mce_log_add(struct mce *mce) { unsigned next, entry; - /* Emit the trace record: */ - trace_mce_record(mce); - - if (!mce_gen_pool_add(mce)) - irq_work_queue(_irq_work); - mce->finished = 0; wmb(); for (;;) { @@ -199,6 +193,19 @@ void mce_log(struct mce *mce) set_bit(0, _need_notify); } +void mce_log(struct mce *mce) +{ + unsigned next, entry; + + /* Emit the trace record: */ + trace_mce_record(mce); + + if (!mce_gen_pool_add(mce)) + irq_work_queue(_irq_work); + + mce_log_add(mce); +} + void mce_inject_log(struct mce *m) { mutex_lock(_chrdev_read_mutex); -- 2.4.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/