From: Linus Torvalds <torvalds@transmeta.com>
To: Andrea Arcangeli <andrea@e-mind.com>
Cc: "Stephen C. Tweedie" <sct@redhat.com>,
linux-kernel@vger.rutgers.edu, werner@suse.de, mlord@pobox.com,
"David S. Miller" <davem@dm.cobaltmicro.com>,
gandalf@szene.ch, adamk@3net.net.pl, kiracofe.8@osu.edu,
ksi@ksi-linux.com, djf-lists@ic.net, tomh@taz.ccs.fau.edu,
Alan Cox <alan@lxorguk.ukuu.org.uk>,
linux-mm@kvack.org
Subject: Re: [patch] fixed both processes in D state and the /proc/ oopses [Re: [patch] Fixed the race that was oopsing Linux-2.2.0]
Date: Thu, 28 Jan 1999 09:36:11 -0800 (PST) [thread overview]
Message-ID: <Pine.LNX.3.95.990128093033.32418B-100000@penguin.transmeta.com> (raw)
In-Reply-To: <Pine.LNX.3.96.990128023440.8338A-100000@laser.bogus>
On Thu, 28 Jan 1999, Andrea Arcangeli wrote:
>
> Do you want to know why last night I added a spinlock around mmget/mmput
> without thinking twice? Simply because mm->count was an atomic_t while it
> doesn't need to be an atomic_t in first place.
No. Your argument does not make any sense at all.
Go away, this is not the time to use magic to make kernel patches.
A "atomic_t" _often_ makes sense without having any spinlocks,
_especially_ when used as a reference count. Let me count the ways:
- when you increase the count because you make a copy, you know that
you're already a holder of the count, so you don't need any spinlocks
to protect anything else: you _know_ the area is there.
- when you decrease the count, you use "atomic_dec_and_test()" because
you know that the count was > 0, and you know that only _one_ such
decrementer will get a positive reply for the atomic_dec_and_test. The
one that is successful doesn't need any locking, because he's now the
only owner, and should just release everything.
In short, it has to be atomic, and spinlocks never enter the picture at
all.
Your patches do not make sense. Period. The only thing that makes sense is
to revert the array.c thing to the old one that didn't try to be clever.
Linus
--
To unsubscribe, send a message with 'unsubscribe linux-mm my@address'
in the body to majordomo@kvack.org. For more info on Linux MM,
see: http://humbolt.geo.uu.nl/Linux-MM/
next prev parent reply other threads:[~1999-01-28 17:42 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <Pine.LNX.3.96.990127123207.15486A-100000@laser.bogus>
[not found] ` <Pine.LNX.3.96.990127131315.19147A-100000@laser.bogus>
1999-01-27 21:38 ` Stephen C. Tweedie
1999-01-27 21:45 ` Linus Torvalds
1999-01-28 1:02 ` Andrea Arcangeli
1999-01-28 2:50 ` Andrea Arcangeli
1999-01-28 4:20 ` [patch] fixed both processes in D state and the /proc/ oopses Tom Holroyd
1999-01-28 6:23 ` Tom Holroyd
1999-01-28 15:09 ` [patch] fixed both processes in D state and the /proc/ oopses [Re: [patch] Fixed the race that was oopsing Linux-2.2.0] Stephen C. Tweedie
1999-01-28 17:54 ` Linus Torvalds
1999-01-28 18:07 ` Stephen C. Tweedie
1999-01-28 18:17 ` Linus Torvalds
1999-01-28 18:25 ` Stephen C. Tweedie
1999-01-28 19:23 ` Alan Cox
1999-01-28 19:11 ` Linus Torvalds
1999-01-28 20:11 ` Alan Cox
1999-01-28 22:33 ` Andrea Arcangeli
1999-01-28 22:53 ` Linus Torvalds
1999-01-29 1:47 ` Andrea Arcangeli
1999-01-29 11:20 ` MOLNAR Ingo
1999-01-29 12:08 ` Andrea Arcangeli
1999-01-29 13:19 ` MOLNAR Ingo
1999-01-29 14:14 ` Andrea Arcangeli
1999-01-29 17:46 ` Theodore Y. Ts'o
1999-01-29 14:13 ` Eric W. Biederman
1999-01-30 15:42 ` Andrea Arcangeli
1999-01-30 20:32 ` Eric W. Biederman
1999-01-31 1:00 ` Andrea Arcangeli
1999-01-31 8:36 ` Eric W. Biederman
1999-01-31 19:16 ` Andrea Arcangeli
1999-01-31 21:56 ` Eric W. Biederman
1999-01-29 18:24 ` Linus Torvalds
1999-01-28 22:04 ` Andrea Arcangeli
1999-01-29 0:17 ` Linus Torvalds
1999-01-28 17:36 ` Linus Torvalds [this message]
1999-01-28 15:05 ` Stephen C. Tweedie
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=Pine.LNX.3.95.990128093033.32418B-100000@penguin.transmeta.com \
--to=torvalds@transmeta.com \
--cc=adamk@3net.net.pl \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=andrea@e-mind.com \
--cc=davem@dm.cobaltmicro.com \
--cc=djf-lists@ic.net \
--cc=gandalf@szene.ch \
--cc=kiracofe.8@osu.edu \
--cc=ksi@ksi-linux.com \
--cc=linux-kernel@vger.rutgers.edu \
--cc=linux-mm@kvack.org \
--cc=mlord@pobox.com \
--cc=sct@redhat.com \
--cc=tomh@taz.ccs.fau.edu \
--cc=werner@suse.de \
/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