From: Andrew Morton <akpm@osdl.org>
To: johnpol@2ka.mipt.ru
Cc: guillaume.thouvenin@bull.net, greg@kroah.com,
linux-kernel@vger.kernel.org
Subject: Re: [Fwd: Re: connector is missing in 2.6.12-rc2-mm1]
Date: Thu, 7 Apr 2005 01:32:13 -0700 [thread overview]
Message-ID: <20050407013213.7bdb083e.akpm@osdl.org> (raw)
In-Reply-To: <1112862232.28858.102.camel@uganda>
Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
>
> >
> > Plus, I'm still quite unsettled about the whole object lifecycle
> > management, refcounting and locking in there. The fact that the code is
> > littered with peculiar barriers says "something weird is happening here",
> > and it remains unobvious to me why such a very common kernel pattern was
> > implemented in such an unusual manner.
> >
> > So. I'd like to see the whole thing reexplained and resubmitted so we can
> > think about it all again.
>
> All those barriers can be replaced with atomic_dec_and_test(),
What a shame you didn't say atomic_dec_and_lock()...
> i.e. with something that returns the value.
> Methods that return value requires explicit barriers.
>
> Actually there are quite many places where we have:
>
> cpu0 cpu1
> use object
> atomic_dec()
> if atomic_read/atomic_dec_and_test == 0
> free object.
Yes, but those places normally also use locking to prevent the obvious race.
Yes, atomic_dec_and_test() and barrier removal would be better. Especially
if it's associated with code commentary which explains why the whole thing
isn't racy (ie: explains why no other CPU can look this object up).
> > Which comments were not addressed?
>
> CBUS code comments [I did not get ack on CBUS itself], and two below
> issues.
I continue to not see any point in cbus. It moves work from one place to
another while increasing the amount of code and quite probably increasing
the net amount of work too.
IOW it looks like a net loss which happens to provide gains in one rather
uninteresting microbenchmark.
I'll gleefully admit that I'm wrong, but I don't think that has been
demonstrated yet.
next prev parent reply other threads:[~2005-04-07 8:34 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1112859412.18360.31.camel@frecb000711.frec.bull.fr>
2005-04-07 7:53 ` [Fwd: Re: connector is missing in 2.6.12-rc2-mm1] Evgeniy Polyakov
2005-04-07 7:58 ` Andrew Morton
2005-04-07 8:23 ` Evgeniy Polyakov
2005-04-07 8:32 ` Andrew Morton [this message]
2005-04-07 10:12 ` Evgeniy Polyakov
2005-04-08 2:59 ` Herbert Xu
2005-04-08 3:33 ` Evgeniy Polyakov
2005-04-08 3:32 ` Herbert Xu
2005-04-08 3:52 ` Evgeniy Polyakov
2005-04-08 3:50 ` Herbert Xu
2005-04-08 4:02 ` Evgeniy Polyakov
2005-04-08 4:02 ` Herbert Xu
2005-04-08 4:21 ` Evgeniy Polyakov
2005-04-08 4:17 ` Herbert Xu
2005-04-08 4:23 ` David S. Miller
2005-04-08 4:55 ` Evgeniy Polyakov
2005-04-08 4:53 ` Herbert Xu
2005-04-08 4:55 ` David S. Miller
2005-04-08 5:11 ` Evgeniy Polyakov
2005-04-08 5:08 ` Herbert Xu
2005-04-08 5:19 ` Evgeniy Polyakov
2005-04-08 6:02 ` David S. Miller
2005-04-08 13:11 ` Daniel Jacobowitz
2005-04-08 6:12 ` Evgeniy Polyakov
2005-04-08 4:22 ` David S. Miller
2005-04-07 8:13 ` Evgeniy Polyakov
2005-04-07 9:12 ` Ian Campbell
2005-04-07 9:52 ` Evgeniy Polyakov
2005-04-07 10:41 ` Kay Sievers
2005-04-07 11:24 ` Evgeniy Polyakov
2005-04-07 14:23 ` Kay Sievers
2005-04-07 14:49 ` Evgeniy Polyakov
2005-04-07 15:47 ` James Morris
2005-04-08 3:41 ` Evgeniy Polyakov
2005-04-08 5:55 ` James Morris
2005-04-08 6:48 ` Evgeniy Polyakov
2005-04-10 9:52 ` Herbert Xu
2005-04-10 10:32 ` Evgeniy Polyakov
2005-04-10 11:08 ` Kay Sievers
2005-04-10 11:37 ` Evgeniy Polyakov
2005-04-10 11:54 ` Evgeniy Polyakov
2005-04-10 12:10 ` Thomas Graf
2005-04-10 12:15 ` Evgeniy Polyakov
2005-04-10 14:39 ` jamal
2005-04-10 14:56 ` James Morris
2005-04-10 15:08 ` jamal
2005-04-10 19:27 ` Thomas Graf
2005-04-11 5:22 ` Evgeniy Polyakov
2005-04-11 10:45 ` Thomas Graf
2005-04-11 11:19 ` Evgeniy Polyakov
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=20050407013213.7bdb083e.akpm@osdl.org \
--to=akpm@osdl.org \
--cc=greg@kroah.com \
--cc=guillaume.thouvenin@bull.net \
--cc=johnpol@2ka.mipt.ru \
--cc=linux-kernel@vger.kernel.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