Message ID | 8d11eec80d6668065fb35a0b025c3614b67bf798.1612314468.git.skhan@linuxfoundation.org (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
Series | Introduce Sequence Number Ops | expand |
Hi Shuah, First off, please indicate the component in the subject, for example: "ACPI: extlog: convert seqno to use seqnum_ops" On Wed, Feb 3, 2021 at 7:12 PM Shuah Khan <skhan@linuxfoundation.org> wrote: > > Sequence Number api provides interfaces for unsigned atomic up counters > leveraging atomic_t and atomic64_t ops underneath. > > Convert seqno atomic counter to use seqnum_ops. Apart from the above, it would be good to say why the change is an improvement. It looks like the rationale is that using struct seqnum32 would allow tools to easily detect the usage of sequence numbers, but is there anything else in this particular case? > Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> > --- > drivers/acpi/acpi_extlog.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c > index 72f1fb77abcd..16a4928645a1 100644 > --- a/drivers/acpi/acpi_extlog.c > +++ b/drivers/acpi/acpi_extlog.c > @@ -12,6 +12,7 @@ > #include <linux/ratelimit.h> > #include <linux/edac.h> > #include <linux/ras.h> > +#include <linux/seqnum_ops.h> > #include <asm/cpu.h> > #include <asm/mce.h> > > @@ -93,8 +94,7 @@ static struct acpi_hest_generic_status *extlog_elog_entry_check(int cpu, int ban > static void __print_extlog_rcd(const char *pfx, > struct acpi_hest_generic_status *estatus, int cpu) > { > - static atomic_t seqno; > - unsigned int curr_seqno; > + static struct seqnum32 seqno; > char pfx_seq[64]; > > if (!pfx) { > @@ -103,8 +103,8 @@ static void __print_extlog_rcd(const char *pfx, > else > pfx = KERN_ERR; > } > - curr_seqno = atomic_inc_return(&seqno); > - snprintf(pfx_seq, sizeof(pfx_seq), "%s{%u}", pfx, curr_seqno); > + snprintf(pfx_seq, sizeof(pfx_seq), "%s{%u}", pfx, > + seqnum32_inc(&seqno)); > printk("%s""Hardware error detected on CPU%d\n", pfx_seq, cpu); > cper_estatus_print(pfx_seq, estatus); > } > -- > 2.27.0 >
diff --git a/drivers/acpi/acpi_extlog.c b/drivers/acpi/acpi_extlog.c index 72f1fb77abcd..16a4928645a1 100644 --- a/drivers/acpi/acpi_extlog.c +++ b/drivers/acpi/acpi_extlog.c @@ -12,6 +12,7 @@ #include <linux/ratelimit.h> #include <linux/edac.h> #include <linux/ras.h> +#include <linux/seqnum_ops.h> #include <asm/cpu.h> #include <asm/mce.h> @@ -93,8 +94,7 @@ static struct acpi_hest_generic_status *extlog_elog_entry_check(int cpu, int ban static void __print_extlog_rcd(const char *pfx, struct acpi_hest_generic_status *estatus, int cpu) { - static atomic_t seqno; - unsigned int curr_seqno; + static struct seqnum32 seqno; char pfx_seq[64]; if (!pfx) { @@ -103,8 +103,8 @@ static void __print_extlog_rcd(const char *pfx, else pfx = KERN_ERR; } - curr_seqno = atomic_inc_return(&seqno); - snprintf(pfx_seq, sizeof(pfx_seq), "%s{%u}", pfx, curr_seqno); + snprintf(pfx_seq, sizeof(pfx_seq), "%s{%u}", pfx, + seqnum32_inc(&seqno)); printk("%s""Hardware error detected on CPU%d\n", pfx_seq, cpu); cper_estatus_print(pfx_seq, estatus); }
Sequence Number api provides interfaces for unsigned atomic up counters leveraging atomic_t and atomic64_t ops underneath. Convert seqno atomic counter to use seqnum_ops. Signed-off-by: Shuah Khan <skhan@linuxfoundation.org> --- drivers/acpi/acpi_extlog.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)