Date: Wed, 29 Mar 2000 22:31:17 -0800 From: Mike Smith <msmith@freebsd.org> To: Alfred Perlstein <bright@wintelcom.net> Cc: Matthew Dillon <dillon@apollo.backplane.com>, freebsd-current@FreeBSD.ORG Subject: Re: Using packed structs to gain cheap SMP primatives Message-ID: <200003300631.WAA00497@mass.cdrom.com> In-Reply-To: Your message of "Wed, 29 Mar 2000 19:25:29 PST." <20000329192526.U21029@fw.wintelcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
> Yesterday I was looking at how Linux handles the gettimeofday stuff > without locking thier sys_tz variable, well it seems they don't care > or I'm missing something important. > > They just don't lock it, not that settimeofday will be called all that > often but it leaves me wondering what we can do about this, effectively > we can pack our tz (sys_tz in Linux) into a 32bit value which should > afford us read/write atomicity on every platform I'm aware of. > > In fact this can be quite effective for certain types of data structures, > even though our 'struct timezone' is two ints we can pack it into two > uint16 and pack a private structure, then copy it to a stack and expand > it into the user's address space. It would be cheaper just to lock the bloody thing, although you can't pack all the significance of a timeval into 16 bits anyway (in a fashion that's going to make many people happy). -- \\ Give a man a fish, and you feed him for a day. \\ Mike Smith \\ Tell him he should learn how to fish himself, \\ msmith@freebsd.org \\ and he'll hate you for a lifetime. \\ msmith@cdrom.com To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200003300631.WAA00497>