Messages in this thread | | | Date | Sun, 19 Jul 2009 20:20:18 -0700 | From | Andrew Morton <> | Subject | Re: [PATCH 1/2] Add function to convert between calendar time andbroken-down time for universal use |
| |
On Mon, 20 Jul 2009 10:56:55 +0800 "Zhaolei" <zhaolei@cn.fujitsu.com> wrote:
> * From: "Pavel Machek" <pavel@ucw.cz> > >> > +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.
| |