Date: Wed, 30 Apr 2008 11:49:38 -0700 From: Marcel Moolenaar <xcllnt@mac.com> To: Julian Elischer <julian@elischer.org> Cc: Max Laier <max@love2party.net>, src-committers@freebsd.org, Julian Elischer <julian@freebsd.org>, cvs-all@freebsd.org, cvs-src@freebsd.org Subject: Re: cvs commit: src/sys/net if_ethersubr.c src/sys/sys mbuf.h src/sys/kern uipc_mbuf.c src/sys/conf NOTES options Message-ID: <42F8226A-A63D-44AB-8BF7-A74233520F24@mac.com> In-Reply-To: <4818BCEF.1040308@elischer.org> References: <200804292123.m3TLNLwT044155@repoman.freebsd.org> <200804301939.06987.max@love2party.net> <4818BCEF.1040308@elischer.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Apr 30, 2008, at 11:39 AM, Julian Elischer wrote: > Max Laier wrote: >> On Tuesday 29 April 2008 23:23:21 Julian Elischer wrote: >>> julian 2008-04-29 21:23:21 UTC >>> >>> FreeBSD src repository >>> >>> Modified files: >>> sys/net if_ethersubr.c >>> sys/sys mbuf.h >>> sys/kern uipc_mbuf.c >>> sys/conf NOTES options >>> Log: >>> Add an option (compiled out by default) >>> to profile outoing packets for a number of mbuf chain >>> related parameters >>> e.g. number of mbufs, wasted space. >>> probably will do with further work later. >> This breaks the build: >> http://tinderbox.freebsd.org/tinderbox-head-HEAD-amd64-amd64.brief >> 1) Use %u to print unsigned values >> 2) printing [u]int64_t's has been broken since the beginning. The >> reason is the unfortunate choice to have int64_t be a "long int" >> alias on platforms with a 64bit long (while they could as easily be >> "long long int" as on the other platforms where long is 32bit wide >> - this also means that "long long" is > intmax_t which is an alias >> for int64_t). Hence you either have to use the (ugly) PRIu64 >> macro, or %ju and cast to uintmax_t. This is a no-op (as long as >> we don't have uint128_t or the like). > > I'm happy to change the types to any way you suggest.. > how about just changing them to long long? I hope you don't mean redefining [u]int64_t from [u_]long to [u_]long_long on 64-bit platforms? I violently oppose that. Itanium already supports 128-bit atomic operations and I like like to keep long long available for that... Not to mention that PRIu64 is defined exactly for this issue, so I would suggest that people get over their eye-of-beholder objections and just use it (if casting to long long and sing %llu is not an option)... FYI, -- Marcel Moolenaar xcllnt@mac.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?42F8226A-A63D-44AB-8BF7-A74233520F24>