mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Arjan van de Ven <arjan@infradead.org>
To: Suleiman Souhlal <ssouhlal@FreeBSD.org>
Cc: Andi Kleen <ak@suse.de>, Edward Falk <efalk@google.com>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Fix x86_64 _spin_lock_irqsave()
Date: Thu, 24 Aug 2006 15:21:58 +0200	[thread overview]
Message-ID: <1156425718.3014.64.camel@laptopd505.fenrus.org> (raw)
In-Reply-To: <44ED9CB4.7070302@FreeBSD.org>

On Thu, 2006-08-24 at 14:33 +0200, Suleiman Souhlal wrote:
> Andi Kleen wrote:
> > On Thursday 24 August 2006 13:04, Suleiman Souhlal wrote:
> > 
> >>Andi Kleen wrote:
> >>
> >>>Edward Falk <efalk@google.com> writes:
> >>>
> >>>
> >>>
> >>>>Add spin_lock_string_flags and _raw_spin_lock_flags() to
> >>>>asm-x86_64/spinlock.h so that _spin_lock_irqsave() has the same
> >>>>semantics on x86_64 as it does on i386 and does *not* have interrupts
> >>>>disabled while it is waiting for the lock.
> >>>
> >>>
> >>>Did it fix anything for you?
> >>
> >>I think this was to work around the fact that some buggy drivers try to 
> >>grab spinlocks without disabling interrupts when they should, which 
> >>would cause deadlocks when trying to rendez-vous every cpu via IPIs.
> > 
> > 
> > That doesn't help them at all because they could then deadlock later.
> 
> If the driver uses spin_lock() when it knows that the hardware won't 
> generate the interrupt that would need to be masked, and 
> spin_lock_irqsave() elsewhere, there shouldn't be any deadlocks unless 
> IPIs are involved.

this still is bad practice and lockdep will also scream about it

Can you point at ANY place that does this? 



  reply	other threads:[~2006-08-24 13:22 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-24  2:57 Edward Falk
2006-08-24  3:10 ` Nick Piggin
2006-08-24  4:48   ` Andrew Morton
2006-08-24 15:53     ` Martin Bligh
2006-08-26  7:52       ` Keith Owens
2006-08-24  6:45 ` Andi Kleen
2006-08-24 11:04   ` Suleiman Souhlal
2006-08-24 11:13     ` Arjan van de Ven
2006-08-24 11:32     ` Andi Kleen
2006-08-24 12:33       ` Suleiman Souhlal
2006-08-24 13:21         ` Arjan van de Ven [this message]
2006-08-24 13:44           ` Suleiman Souhlal
2006-08-25  4:38   ` Andrew Morton
2006-08-25  5:33     ` Nick Piggin
2006-08-25  6:21     ` Andi Kleen

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=1156425718.3014.64.camel@laptopd505.fenrus.org \
    --to=arjan@infradead.org \
    --cc=ak@suse.de \
    --cc=efalk@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ssouhlal@FreeBSD.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®