Re: [PATCH v4 1/5] getcpu_cache system call: cache CPU number of running thread
From: Geert Uytterhoeven <hidden>
Date: 2016-03-02 10:44:50
Also in:
lkml
On Mon, Feb 29, 2016 at 1:41 PM, Mathieu Desnoyers [off-list ref] wrote:
----- On Feb 29, 2016, at 5:39 AM, Arnd Bergmann arnd-r2nGTMty4D4@public.gmane.org wrote:quoted
On Monday 29 February 2016 11:32:21 Peter Zijlstra wrote:quoted
On Sun, Feb 28, 2016 at 12:39:54AM +0000, Mathieu Desnoyers wrote:quoted
/* 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