lkml.org 
[lkml]   [2007]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [ckrm-tech] [PATCH 0/7] Containers (V8): Generic Process Containers
On 4/23/07, Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com> wrote:
> Hi Paul,
>
> In [patch 3/7] Containers (V8): Add generic multi-subsystem API to
> containers, you have forcefully enabled interrupt in
> container_init_subsys() with spin_unlock_irq() which breaks on PPC64.
>
>
> > +static void container_init_subsys(struct container_subsys *ss) {
> > + int retval;
> > + struct list_head *l;
> > + printk(KERN_ERR "Initializing container subsys %s\n",
> > ss->name);
> > +
> > + /* Create the top container state for this subsystem */
> > + ss->root = &rootnode;
> > + retval = ss->create(ss, dummytop);
> > + BUG_ON(retval);
> > + init_container_css(ss, dummytop);
> > +
> > + /* Update all container groups to contain a subsys
> > + * pointer to this state - since the subsystem is
> > + * newly registered, all tasks and hence all container
> > + * groups are in the subsystem's top container. */
> > + spin_lock_irq(&container_group_lock);
> > + l = &init_container_group.list;
> > + do {
> > + struct container_group *cg =
> > + list_entry(l, struct container_group, list);
> > + cg->subsys[ss->subsys_id] =
> > dummytop->subsys[ss->subsys_id];
> > + l = l->next;
> > + } while (l != &init_container_group.list);
> > + spin_unlock_irq(&container_group_lock);
>
> Interrupt gets enabled here and on PPC64, the kernel takes a pending
> decrementer and crashes because it is too early to handle them.
>
> Use of irqsave and restore routines would fix the problem.

OK, thanks. I'll add that change.

Paul
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2007-04-25 07:07    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog