From mboxrd@z Thu Jan 1 00:00:00 1970 From: Geert Uytterhoeven Subject: Re: [PATCH v4 1/5] getcpu_cache system call: cache CPU number of running thread Date: Wed, 2 Mar 2016 11:44:46 +0100 Message-ID: References: <1456270120-7560-1-git-send-email-mathieu.desnoyers@efficios.com> <1082926946.10326.1456619994590.JavaMail.zimbra@efficios.com> <20160229103221.GI6356@twins.programming.kicks-ass.net> <3364335.Bqf8sAzlTS@wuerfel> <1811549980.11849.1456749709589.JavaMail.zimbra@efficios.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Return-path: In-Reply-To: <1811549980.11849.1456749709589.JavaMail.zimbra-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org> Sender: linux-api-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Mathieu Desnoyers Cc: Arnd Bergmann , Peter Zijlstra , Linus Torvalds , Ben Maurer , Thomas Gleixner , Ingo Molnar , Russell King , linux-api , Andrew Morton , Michael Kerrisk , Dave Watson , rostedt , Andy Lutomirski , Will Deacon , "Paul E. McKenney" , Chris Lameter , Andi Kleen , Josh Triplett , Paul Turner , Linux Kernel Mailing List , Catalin Marinas , Andrew Hunter , "H. Peter Anvin" List-Id: linux-api@vger.kernel.org On Mon, Feb 29, 2016 at 1:41 PM, Mathieu Desnoyers wrote: > ----- On Feb 29, 2016, at 5:39 AM, Arnd Bergmann arnd-r2nGTMty4D4@public.gmane.org wrote: > >> On Monday 29 February 2016 11:32:21 Peter Zijlstra wrote: >>> On Sun, Feb 28, 2016 at 12:39:54AM +0000, Mathieu Desnoyers wrote: >>> >>> > /* This structure needs to be aligned cache line size. */ >>> > struct thread_local_abi { >>> > int32_t cpu_id; >>> > uint32_t rseq_seqnum; >>> > uint64_t rseq_post_commit_ip; >>> > /* Add new fields at the end. */ >>> > } __attribute__((packed)); >>> >>> I would really not use packed; that can lead to horrible layout. >>> >>> Suppose someone would add: >>> >>> uint32_t foo; >>> uint64_t bar; >>> >>> With packed, you get an unaligned uint64_t in there, which is horrible. >>> Without packed, you get a hole, which you can later fill. >> > > Actually, Peter is wrong about the hole there. On some 32-bit architectures, > 64-bit integers are aligned on 32-bit, not 64-bit. So there may or may not ... or even on 16-bit. > be a hole there, and that would lead to a mess. indeed. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert-Td1EMuHUCqxL1ZNQvxDV9g@public.gmane.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds