This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: glibc 2.21 - Machine maintainers, please test your machines.
- From: Torvald Riegel <triegel at redhat dot com>
- To: "H.J. Lu" <hjl dot tools at gmail dot com>
- Cc: Andreas Schwab <schwab at suse dot de>, Chris Metcalf <cmetcalf at ezchip dot com>, "Carlos O'Donell" <carlos at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>, David Miller <davem at davemloft dot net>, Richard Henderson <rth at redhat dot com>, Mike Frysinger <vapier at gentoo dot org>, "Joseph S. Myers" <joseph at codesourcery dot com>, Kaz Kojima <kkojima at rr dot iij4u dot or dot jp>, Thomas Schwinge <thomas at codesourcery dot com>, Marcus Shawcroft <marcus dot shawcroft at linaro dot org>, Chung-Lin Tang <chunglin_tang at mentor dot com>, Adhemerval Zanella <azanella at linux dot vnet dot ibm dot com>, Andreas Krebbel <krebbel at linux dot vnet dot ibm dot com>
- Date: Mon, 26 Jan 2015 14:39:57 +0100
- Subject: Re: glibc 2.21 - Machine maintainers, please test your machines.
- Authentication-results: sourceware.org; auth=none
- References: <54C2BDD7 dot 7000304 at redhat dot com> <54C3B6D5 dot 3090308 at ezchip dot com> <1422119595 dot 29655 dot 42 dot camel at triegel dot csb> <54C5094A dot 8060300 at ezchip dot com> <54C51D94 dot 6030007 at ezchip dot com> <CAMe9rOpOuuC_Bf1eHs9iaiUY6V-fVMHUCKZPAwje_NemBy84wA at mail dot gmail dot com> <20150125215150 dot GA15033 at gmail dot com> <54C569E5 dot 9050305 at ezchip dot com> <CAMe9rOrundPWENuw-Ne=pW6706Rc9RLpkw7Zx859M9G1JRFk0A at mail dot gmail dot com> <mvmd261rj1p dot fsf at hawking dot suse dot de> <CAMe9rOotZWCHsp4Wizrk4_i+-CWVVxjrRy9n_9_sF7yuW9TyiQ at mail dot gmail dot com> <1422276615 dot 29655 dot 94 dot camel at triegel dot csb> <CAMe9rOoaVBqR2K-X5ukWRBq_mguNrdhFdusDuo+ML52obu=a1Q at mail dot gmail dot com> <1422279168 dot 29655 dot 97 dot camel at triegel dot csb> <CAMe9rOrTR-6oFYvGA1ujLz=MouQzAq7jaRTSGv5WYpMRE-ijCw at mail dot gmail dot com>
On Mon, 2015-01-26 at 05:35 -0800, H.J. Lu wrote:
> On Mon, Jan 26, 2015 at 5:32 AM, Torvald Riegel <triegel@redhat.com> wrote:
> > On Mon, 2015-01-26 at 05:25 -0800, H.J. Lu wrote:
> >> On Mon, Jan 26, 2015 at 4:50 AM, Torvald Riegel <triegel@redhat.com> wrote:
> >> > way? If so, then using __alignof__(sem_t) in Chris' patch would be good
> >> > because then to_new_sem would resolve to a noop in x32 with your
> >> > alignment change applied.
> >>
> >> I don't want a noop. I want compiler not to generate a noop at all.
> >
> > Yes, that's what I mean. Compiler should figure out that no conversion
> > is necessary and not emit any code for this conversion.
> >
>
> If it is true, we should drop "&& !defined (_LP64)" in:
>
> +#if __HAVE_64B_ATOMICS && !defined (_LP64)
> +# define to_new_sem(s) ((struct new_sem *)(((uintptr_t)(s) + 4) & -8))
> +#else
> +# define to_new_sem(s) ((struct new_sem *)(s))
> +#endif
>
Maybe I wasn't clear. I suggest to keep this, but use
__alignof__(sem_t) there in such a way that if sem_t is 8-byte aligned,
the compiler will figure our at compile time that to_new_sem(s) is
essentially just a cast.
This way, we can keep this code for all archs including tilegx, yet do
not have any overhead for the conversion on archs that have sufficient
alignment of sem_t (eg, x32 with your patch).
Sounds good?
- References:
- glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.
- Re: glibc 2.21 - Machine maintainers, please test your machines.