public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
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 --]

  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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox