Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Dec 2006 15:11:03 -0800 (PST)
From:      mjacob@freebsd.org
To:        Attilio Rao <attilio@freebsd.org>
Cc:        freebsd-scsi@freebsd.org
Subject:   Re: a code reduction function addition to cam_xpt
Message-ID:  <20061204150922.F18492@ns1.feral.com>
In-Reply-To: <3bbf2fe10611201418m15d50703m37d9d5620e5c832d@mail.gmail.com>
References:  <20061119161631.L44297@ns1.feral.com>  <3bbf2fe10611191631h6883b862uf8088533913a7bc6@mail.gmail.com>  <20061120221153.GA5155@lor.one-eyed-alien.net> <3bbf2fe10611201418m15d50703m37d9d5620e5c832d@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help


Was there ever a consensus about this to the point of:

a) Yes, this is a nice thing to have
b) Should it be a define or a function?

I obviously  think yes for #a. I lean toward a function. Comments?

>> > >+void                   xpt_print(struct cam_path *path, const char 
>> *fmt,
>> > >...);
>> > >  int                   xpt_path_string(struct cam_path *path, char 
>> *str,
>> > >                                        size_t str_len);
>> > >  path_id_t             xpt_path_path_id(struct cam_path *path);
>> >
>> > Would not be better a preprocessing stub?
>> >
>> > something like:
>> >
>> > #define XPT_PRINT(path, fmt, ...) do {
>> >            \
>> >              xpt_print_path(path);
>> >                      \
>> >              printf(fmt, __VA_ARGS__);
>> >                  \
>> > } while (0)
>> 
>> Why?  What is gained?  FWIW, when I added if_printif it reduced kernel
>> size by several KB.  If there's a similar effect here we should take
>> advantage of it.
>
> It is simply faster (one function calling less), even if probabilly
> this could be mitigated with -fomit-frame-pointer (IMHO, this is not
> as over used as if_printf...).
>
> Attilio
>
>
> -- 
> Peace can only be achieved by understanding - A. Einstein
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20061204150922.F18492>