Re: [PATCH 21/31] blk-throttle: implement sq_to_tg(), sq_to_td() andthrotl_log()

From: Tejun Heo
Date: Mon May 06 2013 - 16:40:12 EST


On Mon, May 06, 2013 at 01:38:27PM -0700, Tejun Heo wrote:
> On Mon, May 06, 2013 at 01:36:44PM -0400, Vivek Goyal wrote:
> > On Wed, May 01, 2013 at 05:39:39PM -0700, Tejun Heo wrote:
> >
> > [..]
> > > +#define throtl_log(sq, fmt, args...) do { \
> > > + struct throtl_grp *__tg = sq_to_tg((sq)); \
> > > + struct throtl_data *__td = sq_to_td((sq)); \
> > > char __pbuf[128]; \
> > > \
> > > - blkg_path(tg_to_blkg(tg), __pbuf, sizeof(__pbuf)); \
> > > - blk_add_trace_msg((tg)->td->queue, "throtl %s " fmt, __pbuf, ##args); \
> > > + __pbuf[0] = ' '; \
> > > + __pbuf[1] = '\0'; \
> > > + if ((__tg)) \
> > > + blkg_path(tg_to_blkg(__tg), __pbuf + 1, sizeof(__pbuf) - 1); \
> > > + blk_add_trace_msg(__td->queue, "throtl%s" fmt, __pbuf, ##args); \
> >
> > We need one extra space ("throtl%s "), otherwise all the messages
> > start right after cgroup path. We need a space between cgroup path
> > and actual message.
>
> Okay, we don't - __pbuf[0] = ' '. The reason it's doing the above
> instead of "throtl %s " is because when the path is nil, we don't
> wanna print out two consecutive spaces, so AFAICS the code is correct.

Oops, I was wrong again, you mean after '%s'. Yeah, right. I need to
change it so that it does __pbuf[0] = '\0' if no path and add space
after '%s'. Updating...

Sorry about the confusion.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/