lkml.org 
[lkml]   [2015]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 1/3] x86, fpu: introduce per-cpu "bool in_kernel_fpu"
    -----BEGIN PGP SIGNED MESSAGE-----
    Hash: SHA1

    On 01/15/2015 02:19 PM, Oleg Nesterov wrote:
    > interrupted_kernel_fpu_idle() tries to detect if
    > kernel_fpu_begin() is safe or not. In particular it should
    > obviously deny the nested kernel_fpu_begin() and this logic looks
    > very confusing.
    >
    > If use_eager_fpu() == T we rely on a) __thread_has_fpu() check in
    > interrupted_kernel_fpu_idle(), and b) on the fact that _begin()
    > does __thread_clear_has_fpu().
    >
    > Otherwise we demand that the interrupted task has no FPU if it is
    > in kernel mode, this works because __kernel_fpu_begin() does clts()
    > and interrupted_kernel_fpu_idle() checks X86_CR0_TS.
    >
    > Add the per-cpu "bool in_kernel_fpu" variable, and change this
    > code to check/set/clear it. This allows to do more cleanups and
    > fixes, see the next changes.
    >
    > The patch also moves WARN_ON_ONCE() under preempt_disable() just
    > to make this_cpu_read() look better, this is not really needed. And
    > in fact I think we should move it into __kernel_fpu_begin().
    >
    > Signed-off-by: Oleg Nesterov <oleg@redhat.com>

    Reviewed-by: Rik van Riel <riel@redhat.com>


    - --
    All rights reversed
    -----BEGIN PGP SIGNATURE-----
    Version: GnuPG v1

    iQEcBAEBAgAGBQJUuHXTAAoJEM553pKExN6Di2kIAL4HZ8qbOhHOaNKBvAA7uvdj
    3uFZcDdgoviKKT5yi4Q/49+AvXulKVxLuwpZoZXy74wID2J2AQ1bEiVkUKXhhbrl
    4FKW412VAD61fsAXvGp4n3l++ITTfjX4rL0hk6ntJlegqnI3l2sEYIWGa+Hnlh7e
    nTabtEOl3Ib1rkIKlR+6wVgogTzzLxLboGKY0aHHqYZmhlbGzWvnJ04PkgWPGFND
    9rQWz/+ZhbBgpeQRQSW8syluswcs/gQah3BygIRnPFW500zDQzihxjssDSd7/X2Z
    3lYq+TCWab8EGSpc4kOqgq+LU8nXxggP9nIA7LplqgpnIdAyg4YrxLvyWL5Y2Ys=
    =t5LD
    -----END PGP SIGNATURE-----


    \
     
     \ /
      Last update: 2015-01-16 03:41    [W:3.373 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site