On Wed, 26 Mar 2008, Pavel Machek wrote:I do agree that it's ugly, but I think the ugliness is more serious than that. What I think we should do is to make NR_IRQS no longer be a compile-time constant, but instead just do something like unsigned int NR_IRQS __read_mostly; and then just set it early in the boot sequence depending on the real CPU numbers etc. I realize that this will require some changes to a few arrays that are statically allocated and depend on NR_IRQ's (notably "irq_desc"), but don't you guys think that this would be a cleaner thing? [ I suspect that irq_desc[] itself could quite reasonably be a rather much smaller __read_mostly hash-table of dynamically allocated entries - the thing would be only modified at boot, so it should cache beautifully even across hundreds of CPU's ] Whatever. I'm not opposed to this whole static thing, but I do wonder if it's worth doing that way. There *may* be performance reasons for doing it the way we're doing it, but quite frankly, I think the #define is mostly purely historical, from when it was just a fixed number (originally 16!) and it made sense to think of it as a small static array. Linus --
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Andrew Morton | -mm merge plans for 2.6.23 |
| James Bottomley | [Ksummit-2008-discuss] Fixing the Kernel Janitors project |
| Greg KH | [GIT PATCH] driver core patches against 2.6.24 |
git: | |
| Gerrit Renker | [PATCH 18/37] dccp: Support for Mandatory options |
| David Miller | Re: [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| David Miller | Re: [GIT]: Networking |
| Tantilov, Emil S | WARNING: at include/net/sock.h:417 udp_lib_unhash |
