From: Oleg Nesterov <oleg@redhat.com>
To: Suresh Siddha <suresh.b.siddha@intel.com>
Cc: torvalds@linux-foundation.org, hpa@zytor.com, mingo@elte.hu,
linux-kernel@vger.kernel.org, suresh@aristanetworks.com
Subject: Re: [PATCH v2 2/4] coredump: ensure the fpu state is flushed for proper multi-threaded core dump
Date: Fri, 11 May 2012 18:51:28 +0200 [thread overview]
Message-ID: <20120511165128.GA21511@redhat.com> (raw)
In-Reply-To: <1336692811-30576-2-git-send-email-suresh.b.siddha@intel.com>
On 05/10, Suresh Siddha wrote:
>
> --- a/fs/exec.c
> +++ b/fs/exec.c
> @@ -1930,8 +1930,21 @@ static int coredump_wait(int exit_code, struct core_state *core_state)
> core_waiters = zap_threads(tsk, mm, core_state, exit_code);
> up_write(&mm->mmap_sem);
>
> - if (core_waiters > 0)
> + if (core_waiters > 0) {
> + struct core_thread *ptr;
> +
> wait_for_completion(&core_state->startup);
> + /*
> + * Wait for all the threads to become inactive, so that
> + * all the thread context (extended register state, like
> + * fpu etc) gets copied to the memory.
> + */
> + ptr = core_state->dumper.next;
> + while (ptr != NULL) {
> + wait_task_inactive(ptr->task, 0);
> + ptr = ptr->next;
> + }
> + }
OK, but this adds the unnecessary penalty if we are not going to dump
the core.
Perhaps it makes sense to create a separate helper and call it from
do_coredump() right before "retval = binfmt->core_dump(&cprm)" ?
This also increases the chance that wait_task_inactive() won't actually
wait.
Oleg.
next prev parent reply other threads:[~2012-05-11 18:30 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-05-07 19:07 [PATCH 1/2] coredump: flush the fpu exit state for proper multi-threaded core dump Suresh Siddha
2012-05-07 19:07 ` [PATCH 2/2] x86, xsave: remove thread_has_fpu() bug check in __sanitize_i387_state() Suresh Siddha
2012-05-07 19:15 ` [PATCH 1/2] coredump: flush the fpu exit state for proper multi-threaded core dump Linus Torvalds
2012-05-07 20:09 ` Suresh Siddha
2012-05-08 23:18 ` Suresh Siddha
2012-05-08 23:18 ` [PATCH 1/3] " Suresh Siddha
2012-05-09 21:05 ` Oleg Nesterov
2012-05-09 21:32 ` Suresh Siddha
2012-05-10 16:55 ` Oleg Nesterov
2012-05-10 17:04 ` Linus Torvalds
2012-05-10 23:33 ` [PATCH v2 1/4] fork: move the real prepare_to_copy() users to arch_dup_task_struct() Suresh Siddha
2012-05-10 23:33 ` [PATCH v2 2/4] coredump: ensure the fpu state is flushed for proper multi-threaded core dump Suresh Siddha
2012-05-11 16:51 ` Oleg Nesterov [this message]
2012-05-11 19:05 ` Suresh Siddha
2012-05-13 16:11 ` Oleg Nesterov
2012-05-15 18:03 ` Suresh Siddha
2012-05-15 18:55 ` Oleg Nesterov
2012-05-17 0:17 ` [tip:x86/fpu] " tip-bot for Suresh Siddha
2012-05-10 23:33 ` [PATCH v2 3/4] x86, xsave: remove thread_has_fpu() bug check in __sanitize_i387_state() Suresh Siddha
2012-05-17 0:18 ` [tip:x86/fpu] " tip-bot for Suresh Siddha
2012-05-10 23:33 ` [PATCH v2 4/4] x86, fpu: drop the fpu state during thread exit Suresh Siddha
2012-05-17 0:19 ` [tip:x86/fpu] " tip-bot for Suresh Siddha
2012-05-11 0:17 ` [PATCH v2 1/4] fork: move the real prepare_to_copy() users to arch_dup_task_struct() Benjamin Herrenschmidt
2012-05-17 0:16 ` [tip:x86/fpu] " tip-bot for Suresh Siddha
2012-05-10 23:48 ` [PATCH 1/3] coredump: flush the fpu exit state for proper multi-threaded core dump Suresh Siddha
2012-05-08 23:18 ` [PATCH 2/3] x86, xsave: remove thread_has_fpu() bug check in __sanitize_i387_state() Suresh Siddha
2012-05-09 20:30 ` Oleg Nesterov
2012-05-09 21:18 ` Suresh Siddha
2012-05-10 16:36 ` Oleg Nesterov
2012-05-08 23:18 ` [PATCH 3/3] x86, fpu: clear the fpu state during thread exit Suresh Siddha
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120511165128.GA21511@redhat.com \
--to=oleg@redhat.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=suresh.b.siddha@intel.com \
--cc=suresh@aristanetworks.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.