Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1489622
| From | Andy Lutomirski <luto@amacapital.net> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info |
| Date | 2016-09-23 00:30 +0200 |
| Message-ID | <skkFb-3MU-11@gated-at.bofh.it> (permalink) |
| References | (1 earlier) <shFmP-7Jn-49@gated-at.bofh.it> <shJJL-28Z-21@gated-at.bofh.it> <shYIN-3tM-1@gated-at.bofh.it> <si35L-6q0-5@gated-at.bofh.it> <sjMWT-7Q9-65@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Sep 21, 2016 12:28 AM, "Mark Rutland" <mark.rutland@arm.com> wrote:
>
> Hi Andy,
>
> On Fri, Sep 16, 2016 at 08:11:14AM -0700, Andy Lutomirski wrote:
> > > On Thu, Sep 15, 2016 at 11:37:47AM -0700, Andy Lutomirski wrote:
> > > Just to check, what do you mean to happen with the flags field? Should
> > > that always be in the generic thread_info? e.g.
> > >
> > > struct thread_info {
> > > u32 flags;
> > > #ifdef arch_thread_info
> > > struct arch_thread_info arch_ti;
> > > #endif
> > > };
> >
> > Exactly. Possibly with a comment that using thread_struct should be
> > preferred and that arch_thread_info should be used only if some header
> > file requires access via current_thread_info() or task_thread_info().
>
> While fixing up these patches, I realised that I'm somewhat concerned by
> flags becoming a u32 (where it was previously an unsigned long for
> arm64).
>
> The generic {test,set,*}_ti_thread_flag() helpers use the usual bitops,
> which perform accesses of sizeof(unsigned long) at a time, and for arm64
> these need to be naturally-aligned.
>
> We happen to get that alignment from subsequent fields in task_struct
> and/or thread_info, and for arm64 we don't seem to have a problem with
> tearing, but it feels somewhat fragile, and leaves me uneasy.
>
> Looking at the git log, it seems that x86 also use unsigned long until
> commit affa219b60a11b32 ("x86: change thread_info's flag field back to
> 32 bits"), where if I'm reading correctly, this was done to get rid of
> unnecessary padding. With THREAD_INFO_IN_STACK, thread_info::flags is
> immediately followed by a long on x86, so we save no padding.
>
> Given all that, can we make the generic thread_info::flags an unsigned
> long, matching what the thread flag helpers implicitly assume?
>
Yes. Want to send the patch or should I?
--Andy
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[RFC PATCH 0/8] arm64: move thread_info off of the task stack Mark Rutland <mark.rutland@arm.com> - 2016-09-15 15:50 +0200
[RFC PATCH 8/8] arm64: split thread_info from task stack Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 5/8] arm64: assembler: introduce ldr_this_cpu Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 4/8] arm64: asm-offsets: remove unused definitions Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 1/8] thread_info: include <current.h> for THREAD_INFO_IN_TASK Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 3/8] arm64: thread_info remove stale items Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 7/8] arm64: move sp_el0 and tpidr_el1 into cpu_suspend_ctx Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
[RFC PATCH 2/8] thread_info: allow custom in-task thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Andy Lutomirski <luto@amacapital.net> - 2016-09-15 20:40 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-16 12:40 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Andy Lutomirski <luto@amacapital.net> - 2016-09-16 17:20 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-19 12:50 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-21 12:30 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Andy Lutomirski <luto@amacapital.net> - 2016-09-23 00:30 +0200
Re: [RFC PATCH 2/8] thread_info: allow custom in-task thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-23 19:40 +0200
[RFC PATCH 6/8] arm64: traps: use task_struct instead of thread_info Mark Rutland <mark.rutland@arm.com> - 2016-09-15 16:00 +0200
Re: [RFC PATCH 0/8] arm64: move thread_info off of the task stack Laura Abbott <labbott@redhat.com> - 2016-09-21 03:30 +0200
Re: [RFC PATCH 0/8] arm64: move thread_info off of the task stack Mark Rutland <mark.rutland@arm.com> - 2016-09-21 12:40 +0200
csiph-web