Prev: [PATCH -mm 2/3] kill the obsolete thread_group_cputime_free() and taskstats_tgid_init() helpers
Next: [PATCH -mm 3/3] exit: move taskstats_tgid_free() from __exit_signal() to free_signal_struct()
From: Yinghai Lu on 21 Mar 2010 15:00 On 03/21/2010 07:43 AM, Thomas Gleixner wrote: > Eric, > > On Sun, 21 Mar 2010, Eric W. Biederman wrote: >> >> With SPARSE_IRQ irq_to_desc becomes an unnecessary lookup operation on >> the fast path of dispatching irqs to their handlers. We can avoid >> this cost by passing an irq_desc pointer instead of using an integer >> irq token to the irq_chip methods. >> >> A single patch to convert all of the architectures is an unreviewable >> 2000+ line patch. A gradual transition scenario with two sets of >> irq_chip methods in irq_chip is an unmanageable mess in kernel/irq. >> >> So instead I define some macros so the generic irq code in kernel/irq/ >> can compile either way based on a boolean Kconfig variable >> CONFIG_CHIP_PARAM_DESC. This allows us to convert one architecture at >> a time, reducing the follow on patches to manageable proportions. It >> is a little bit ugly but it is much better than the alternatives, and >> as soon as we finish the transition we can kill the macros. >> >> I introduce the macros CHIP_ARG, CHIP_VAR, and CHIP_PARAM where >> appropriate. I change a few declarations of irq as int to unsigned >> int. I normalize the variables names in the functions that call >> chip methods to ensure that I have the variables irq and desc present >> allowing CHIP_ARG to work properly. Most importantly none of the irq >> logic changes with this patch. > > I like that approach very much. Is the output binary equivivalent? > great. will update x86 part and related core according to this, and give it a try. YH -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/ |