Re: [PATCH 1/2] Add function to convert between calendar timeandbroken-down time for universal use

From: Andrew Morton
Date: Sun Jul 19 2009 - 23:22:23 EST


On Mon, 20 Jul 2009 10:56:55 +0800 "Zhaolei" <zhaolei@xxxxxxxxxxxxxx> wrote:

> * From: "Pavel Machek" <pavel@xxxxxx>
> >> > +extern void gmtime(__kernel_time_t totalsecs,
> >> > + unsigned int *year, unsigned int *mon, unsigned int *mday,
> >> > + unsigned int *hour, unsigned int *min, unsigned int *sec,
> >> > + unsigned int *wday, unsigned int *yday);
> >> > +extern void localtime(__kernel_time_t totalsecs,
> >> > + unsigned int *year, unsigned int *mon, unsigned int *mday,
> >> > + unsigned int *hour, unsigned int *min, unsigned int *sec,
> >> > + unsigned int *wday, unsigned int *yday);
> >
> >
> > Should year/mon/.../yday be passed up as a structure?
>
> Hello, Pavel
>
> Thanks for your attention.
>
> Actually, I considered to introduce a struct as your think, but finally I
> choose to use arguments list instead of a struct, because:
> 1: User can easy to call this function without define a struct
> 2: Get rid of adding a additional struct into kernel
>
> In fact, I think both(use a struct or not) should be ok.

Using a struct will generate better code at caller sites and possibly
at the called site too. The compiler doesn't need to marshal those
eight pointers on the stack (or wherever the architecture puts them),
possibly less registers will be consumed, etc. And it'll use less
stack space.

So I do think it would be better from that point of view.

However it will probably require much more code change at the call
sites. But those changes will be simple, and probably a good thing
regardless.


--
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/