All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Venki Pallipadi <venkatesh.pallipadi@intel.com>
Cc: Jens Axboe <jens.axboe@oracle.com>, Ingo Molnar <mingo@elte.hu>,
	npiggin@suse.de, linux-kernel <linux-kernel@vger.kernel.org>,
	suresh.b.siddha@intel.com
Subject: Re: [PATCH] stack and rcu interaction bug in smp_call_function_mask()
Date: Sat, 09 Aug 2008 02:14:18 +0200	[thread overview]
Message-ID: <871w0z3uzp.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20080808193753.GA21964@linux-os.sc.intel.com> (Venki Pallipadi's message of "Fri, 8 Aug 2008 12:37:53 -0700")

Venki Pallipadi <venkatesh.pallipadi@intel.com> writes:
>
> One way to solve the problem is to have CPU A wait as long as there is a rcu
> read happening. But, we cannot use synchronize_rcu() here as we cannot block.
> Another way around is to always allocate call_function_data, instead
> of using CPU A's stack. Below patch does this. But, that will still have to
> handle the kmalloc failure case somehow.
>
> Any other ideas on how to solve this problem?

Perhaps it needs a custom RCU cycle? That is possible to define
with some effort.

I would feel uneasy about always allocating. GFP_ATOMIC can fail and I
expect most callers are not prepared to do handle that and in many
cases there is not even a good way. Now that there are patches
floating around even using this for the tlb flush that would be
deadly.

-Andi

  reply	other threads:[~2008-08-09  0:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 19:37 [PATCH] stack and rcu interaction bug in smp_call_function_mask() Venki Pallipadi
2008-08-09  0:14 ` Andi Kleen [this message]
2008-08-09  2:17 ` Jeremy Fitzhardinge
2008-08-10  6:24 ` Nick Piggin
2008-08-11  3:49   ` Nick Piggin
2008-08-11 13:22     ` Ingo Molnar
2008-08-11  4:26   ` Jeremy Fitzhardinge
2008-08-11  4:34     ` Arjan van de Ven
2008-08-11 18:18       ` Jeremy Fitzhardinge
2008-08-11  4:49     ` Nick Piggin
2008-08-11 18:27       ` Jeremy Fitzhardinge
2008-08-21 20:50   ` Jeremy Fitzhardinge

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=871w0z3uzp.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=jens.axboe@oracle.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=npiggin@suse.de \
    --cc=suresh.b.siddha@intel.com \
    --cc=venkatesh.pallipadi@intel.com \
    /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.