On Fri, 2005-04-01 at 15:12 +0400, Evgeniy Polyakov wrote:
> > > cn_queue_wrapper() atomically increments cbq->cb->refcnt if runs, so it
> > > will
> > > be caught in
> > > while (atomic_read(&cbq->cb->refcnt))
> > > msleep(1000);
> > > in cn_queue_free_callback().
> > > If it does not run, th
On Fri, 2005-04-01 at 02:43 -0800, Andrew Morton wrote:
> Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> >
> > On Fri, 2005-04-01 at 01:50 -0800, Andrew Morton wrote:
> > > Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> > > >
> > > > cn_queue_free_dev() will wait until dev->refcnt hits zero
> > > >
Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
>
> On Fri, 2005-04-01 at 01:50 -0800, Andrew Morton wrote:
> > Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> > >
> > > cn_queue_free_dev() will wait until dev->refcnt hits zero
> > > before freeing any resources,
> > > but it can happen only after cn_
On Fri, 2005-04-01 at 01:50 -0800, Andrew Morton wrote:
> Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> >
> > cn_queue_free_dev() will wait until dev->refcnt hits zero
> > before freeing any resources,
> > but it can happen only after cn_queue_del_callback() does
> > it's work on given callbac
Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
>
> cn_queue_free_dev() will wait until dev->refcnt hits zero
> before freeing any resources,
> but it can happen only after cn_queue_del_callback() does
> it's work on given callback device [actually when all callbacks
> are removed].
> When new
On Fri, 2005-04-01 at 00:48 -0800, Andrew Morton wrote:
> Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> >
> > New object has 0 reference counter when created.
> > If some work is appointed to the object, then it's counter is atomically
> > incremented. It is decremented when the work is finished
Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
>
> New object has 0 reference counter when created.
> If some work is appointed to the object, then it's counter is atomically
> incremented. It is decremented when the work is finished.
> If object is supposed to be removed while some work
> may be
On Thu, 2005-03-31 at 23:57 -0800, Andrew Morton wrote:
> Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
> >
> > > > static void cn_queue_wrapper(void *data)
> > > > {
> > > > struct cn_callback_entry *cbq = (struct cn_callback_entry
> > > > *)data;
> > > >
> > > > smp_mb__before_ato
Evgeniy Polyakov <[EMAIL PROTECTED]> wrote:
>
> > > static void cn_queue_wrapper(void *data)
> > > {
> > > struct cn_callback_entry *cbq = (struct cn_callback_entry *)data;
> > >
> > > smp_mb__before_atomic_inc();
> > > atomic_inc(&cbq->cb->refcnt);
> > > smp_mb__after_atomic_inc();
> > >
On Thu, 2005-03-31 at 17:32 -0800, Andrew Morton wrote:
> > /*
> > * cn_queue.c
> > *
> > * 2004 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]>
> > * All rights reserved.
> > *
> > * This program is free software; you can redistribute i
> /*
> *cn_queue.c
> *
> * 2004 Copyright (c) Evgeniy Polyakov <[EMAIL PROTECTED]>
> * All rights reserved.
> *
> * This program is free software; you can redistribute it and/or modify
> * it under the terms of the GNU General Public License as publi
11 matches
Mail list logo