[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <X6r7LVcXBBvRIbd8@kroah.com>
Date: Tue, 10 Nov 2020 21:42:21 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Shuah Khan <skhan@...uxfoundation.org>
Cc: david.kershner@...sys.com, keescook@...omium.org,
peterz@...radead.org, devel@...verdev.osuosl.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 12/13] drivers/staging/unisys/visorhba: convert stats to
use seqnum_ops
On Tue, Nov 10, 2020 at 12:53:38PM -0700, Shuah Khan wrote:
> seqnum_ops api is introduced to be used when a variable is used as
> a sequence/stat counter and doesn't guard object lifetimes. This
> clearly differentiates atomic_t usages that guard object lifetimes.
>
> seqnum32 variables wrap around to INT_MIN when it overflows and
> should not be used to guard resource lifetimes, device usage and
> open counts that control state changes, and pm states.
>
> atomic_t variables used for error_count and ios_threshold are atomic
> counters and guarded by max. values. No change to the behavior with
> this change.
>
> Signed-off-by: Shuah Khan <skhan@...uxfoundation.org>
> ---
> .../staging/unisys/visorhba/visorhba_main.c | 37 ++++++++++---------
> 1 file changed, 19 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/staging/unisys/visorhba/visorhba_main.c b/drivers/staging/unisys/visorhba/visorhba_main.c
> index 7ae5306b92fe..3209958b8aaa 100644
> --- a/drivers/staging/unisys/visorhba/visorhba_main.c
> +++ b/drivers/staging/unisys/visorhba/visorhba_main.c
> @@ -10,6 +10,7 @@
> #include <linux/module.h>
> #include <linux/seq_file.h>
> #include <linux/visorbus.h>
> +#include <linux/seqnum_ops.h>
> #include <scsi/scsi.h>
> #include <scsi/scsi_host.h>
> #include <scsi/scsi_cmnd.h>
> @@ -41,8 +42,8 @@ MODULE_ALIAS("visorbus:" VISOR_VHBA_CHANNEL_GUID_STR);
> struct visordisk_info {
> struct scsi_device *sdev;
> u32 valid;
> - atomic_t ios_threshold;
> - atomic_t error_count;
> + struct seqnum32 ios_threshold;
> + struct seqnum32 error_count;
Are you sure the threshold variable is a sequence number?
It goes up and down, not just up and up and up.
An error count just goes up :)
thanks,
greg k-h
Powered by blists - more mailing lists