> - Remove the populating of the tree from the revmap function as > you already do > - Move it to irq_create_mapping() for the normal case > - For pre-existing interrupt, have the generic code that initializes > the radix tree walk through all interrupts and setup the revmap for > them. If that needs locking vs. concurrent irq_create_mapping, it's > easy to use one of the available spinlocks for that.
And in fact, you may even be able to avoid GFP_ATOMIC completely here and switch it to GFP_KERNEL since irq_create_mapping() can sleep afaik, provided that you avoid the spinlocking. Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-dev