In the previous email the patch 02-initial-lb-2.5.58.patch had a bug and this was present in the numa-sched-2.5.58.patch and numa-sched-add-2.5.58.patch, too. Please use the patches attached to this email! Sorry for the silly mistake... Christoph, I used your way of coding nr_running_inc/dec now. Regards, Erich On Tuesday 14 January 2003 16:55, Erich Focht wrote: > Here's the new version of the NUMA scheduler built on top of the > miniature scheduler of Martin. I incorporated Michael's ideas and > Christoph's suggestions and rediffed for 2.5.58. > > The whole patch is really tiny: 9.5k. This time I attached the numa > scheduler in form of two patches: > > numa-sched-2.5.58.patch (7k) : components 01, 02, 03 > numa-sched-add-2.5.58.patch (3k) : components 04, 05 > > The single components are also attached in a small tgz archive: > > 01-minisched-2.5.58.patch : the miniature scheduler from > Martin. Balances strictly within a node. Removed the > find_busiest_in_mask() function. > > 02-initial-lb-2.5.58.patch : Michael's initial load balancer at > exec(). Cosmetic corrections sugegsted by Christoph. > > 03-internode-lb-2.5.58.patch : internode load balancer core. Called > after NODE_BALANCE_RATE calls of the inter-node load balancer. Tunable > parameters: > NODE_BALANCE_RATE (default: 10) > NODE_THRESHOLD (default: 125) : consider only nodes with load > above NODE_THRESHOLD/100 * own_node_load > I added the constant factor of 4 suggested by Michael, but I'm not > really happy with it. This should be nr_cpus_in_node, but we don't > have that info in topology.h > > 04-smooth-node-load-2.5.58.patch : The node load measure is smoothed > by adding half of the previous node load (and 1/4 of the one before, > etc..., as discussed in the LSE call). This should improve a bit the > behavior in case of short timed load peaks and avoid bouncing tasks > between nodes. > > 05-var-intnode-lb-2.5.58.patch : Replaces the fixed NODE_BALANCE_RATE > interval (between cross-node balancer calls) by a variable > node-specific interval. Currently only two values used: > NODE_BALANCE_MIN : 10 > NODE_BALANCE_MAX : 40 > If the node load is less than avg_node_load/2, we switch to > NODE_BALANCE_MIN, otherwise we use the large interval. > I also added a function to reduce the number of tasks stolen from > remote nodes. > > Regards, > Erich