Skip to content

Commit

Permalink
s390/zcrypt: Show load of cards and queues in sysfs
Browse files Browse the repository at this point in the history
Show the current load value of cards and queues in sysfs.
The load value for each card and queue is maintained by
the zcrypt device driver for dispatching and load
balancing requests over the available devices.

This patch provides the load value to userspace via a
new read only sysfs attribute 'load' per card and queue.

Signed-off-by: Harald Freudenberger <freude@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Harald Freudenberger authored and Martin Schwidefsky committed Jun 25, 2018
1 parent df80c03 commit 4a07750
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
12 changes: 12 additions & 0 deletions drivers/s390/crypto/zcrypt_card.c
Original file line number Diff line number Diff line change
Expand Up @@ -83,9 +83,21 @@ static ssize_t zcrypt_card_online_store(struct device *dev,
static DEVICE_ATTR(online, 0644, zcrypt_card_online_show,
zcrypt_card_online_store);

static ssize_t zcrypt_card_load_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{
struct zcrypt_card *zc = to_ap_card(dev)->private;

return snprintf(buf, PAGE_SIZE, "%d\n", atomic_read(&zc->load));
}

static DEVICE_ATTR(load, 0444, zcrypt_card_load_show, NULL);

static struct attribute *zcrypt_card_attrs[] = {
&dev_attr_type.attr,
&dev_attr_online.attr,
&dev_attr_load.attr,
NULL,
};

Expand Down
12 changes: 12 additions & 0 deletions drivers/s390/crypto/zcrypt_queue.c
Original file line number Diff line number Diff line change
Expand Up @@ -75,8 +75,20 @@ static ssize_t zcrypt_queue_online_store(struct device *dev,
static DEVICE_ATTR(online, 0644, zcrypt_queue_online_show,
zcrypt_queue_online_store);

static ssize_t zcrypt_queue_load_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{
struct zcrypt_queue *zq = to_ap_queue(dev)->private;

return snprintf(buf, PAGE_SIZE, "%d\n", atomic_read(&zq->load));
}

static DEVICE_ATTR(load, 0444, zcrypt_queue_load_show, NULL);

static struct attribute *zcrypt_queue_attrs[] = {
&dev_attr_online.attr,
&dev_attr_load.attr,
NULL,
};

Expand Down

0 comments on commit 4a07750

Please sign in to comment.