From: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
To: Andrew Morton <akpm@osdl.org>
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, 07 Apr 2005 12:23:52 +0400 [thread overview]
Message-ID: <1112862232.28858.102.camel@uganda> (raw)
In-Reply-To: <20050407005852.36a1264b.akpm@osdl.org>
[-- Attachment #1: Type: text/plain, Size: 3052 bytes --]
On Thu, 2005-04-07 at 00:58 -0700, Andrew Morton wrote:
> Evgeniy Polyakov <johnpol@2ka.mipt.ru> wrote:
> >
> > > > > I don't see the connector directory in the 2.6.12-rc2-mm1 tree. So it
> > > > > seems that you removed the connector?
> > > >
> > > > Greg dropped it for some reason. I think that's best because it needed a
> > > > significant amount of rework. I'd like to see it resubitted in totality so
> > > > we can take another look at it.
> >
> > Hmm, what exactly do you think _must_ be changed?
>
> The stuff we discussed.
>
> 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(),
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.
With explicit barriers about use object we can
not catch atomic vs. non atomic reordering.
There still _may_ exist other types of races,
but as we discussed, in connector case they
were my faults [flush on connector removal].
> > Most of your comments are addressed in 4 patches I sent to you and Greg.
>
> Which comments were not addressed?
CBUS code comments [I did not get ack on CBUS itself], and two below
issues.
> > Others [mostly atomic allocation] are API extensions and will be added.
>
> I would like to see that code before committing to merging anything.
Ok.
> > There also not included flush on callback removal.
> >
> > > > It's a new piece of core kernel infrastructure and the barriers for that
> > > > are necessarily high.
> > > >
> > > > > Will you include it again in futur
> > > > > release? At the same time, will you include the fork connector?
> > > >
> > > > I could put the fork connector into -mm, but would like to be convinced
> > > > that it's acceptable to and useful for all system accounting requirements,
> > > > not just the one project. That means code, please.
> >
> > SuperIO and kobject_uevent are also dropped as far as I can see.
> >
> > Acrypto is being reviewed but it also depends on it, although
> > it takes to much time, probably will be dropped too.
> >
> > Proper w1 notification also requires connector.
>
> Guillaume was referring to "fork connector", not to "connector".
fork connector depends on the dropped connector/CBUS.
--
Evgeniy Polyakov
Crash is better than data corruption -- Arthur Grabowski
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2005-04-07 8:19 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 [this message]
2005-04-07 8:32 ` Andrew Morton
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=1112862232.28858.102.camel@uganda \
--to=johnpol@2ka.mipt.ru \
--cc=akpm@osdl.org \
--cc=greg@kroah.com \
--cc=guillaume.thouvenin@bull.net \
--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 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.