Re: [PATCH v6 11/25] rtrs: server: statistics functions

Jinpu Wang
2020-01-08T12:55:44Z

On Thu, Jan 2, 2020 at 11:02 PM Bart Van Assche <bvanassche@acm.org> wrote:
>
> On 12/30/19 2:29 AM, Jack Wang wrote:
> > +int rtrs_srv_reset_rdma_stats(struct rtrs_srv_stats *stats, bool enable)
> > +{
> > + if (enable) {
> > + struct rtrs_srv_stats_rdma_stats *r = &stats->rdma_stats;
> > +
> > + memset(r, 0, sizeof(*r));
> > + return 0;
> > + }
> > +
> > + return -EINVAL;
> > +}
>
> I think the traditional kernel coding style is "if (!enable) return ...".
This can be changed.
>
> > +ssize_t rtrs_srv_stats_rdma_to_str(struct rtrs_srv_stats *stats,
> > + char *page, size_t len)
> > +{
> > + struct rtrs_srv_stats_rdma_stats *r = &stats->rdma_stats;
> > + struct rtrs_srv_sess *sess;
> > +
> > + sess = container_of(stats, typeof(*sess), stats);
> > +
> > + return scnprintf(page, len, "%lld %lld %lld %lld %u\n",
> > + (s64)atomic64_read(&r->dir[READ].cnt),
> > + (s64)atomic64_read(&r->dir[READ].size_total),
> > + (s64)atomic64_read(&r->dir[WRITE].cnt),
> > + (s64)atomic64_read(&r->dir[WRITE].size_total),
> > + atomic_read(&sess->ids_inflight));
> > +}
>
> Does this follow the sysfs one-value-per-file rule?
We have user space tools already depend on it.
On the other side one-value-per-file rule is never really enforced,
see https://lwn.net/Articles/378884/
I think it doesn't really make sense for the use case.
>
> > +int rtrs_srv_stats_wc_completion_to_str(struct rtrs_srv_stats *stats,
> > + char *buf, size_t len)
> > +{
> > + return snprintf(buf, len, "%lld %lld\n",
> > + (s64)atomic64_read(&stats->wc_comp.total_wc_cnt),
> > + (s64)atomic64_read(&stats->wc_comp.calls));
> > +}
>
> Same comment here.
See comment above.
>
> Thanks,
>
> Bart.
Thanks Bart