08 Jul, 2005

35 commits


07 Jul, 2005

5 commits

  • Linus Torvalds
     
  • Jesse Barnes provided the original version of this patch months ago, but
    other changes kept conflicting with it, so it got deferred. Greg Edwards
    dug it out of obscurity just over a week ago, and almost immediately
    another conflicting patch appeared (Bob Picco's memory-less nodes).

    I've resolved the conflicts and got it running again. CONFIG_SGI_TIOCX
    is set to "y" in defconfig, which causes a Tiger to not boot (oops in
    tiocx_init). But that can be resolved later ... get this in now before it
    gets stale again.

    Signed-off-by: Tony Luck

    Tony Luck
     
  • Linus Torvalds
     
  • There is a slight disagreement between setup-bus.c code and traditional
    x86 PCI setup wrt which recourses are invalid vs resources that are free
    for further allocations.

    In particular, in the setup-bus.c, if we failed to allocate some resource,
    we nullify "start" and "flags" fields, but *not* the "end" one.

    But x86 pcibios_enable_resources() does the following check:

    if (!r->start && r->end) {
    printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
    return -EINVAL;

    which means that the device owning the offending resource cannot be
    enabled.

    In particular, this breaks cardbus behind the normal decode p2p bridge -
    the cardbus code from setup-bus.c requests rather large IO and MEM
    windows, and if it fails, the socket is completely unavailable. Which
    is wrong, as the yenta code is capable to allocate smaller windows.

    Signed-off-by: Ivan Kokshaysky
    Signed-off-by: Linus Torvalds

    Ivan Kokshaysky
     
  • I reworked how nodes with only CPUs are treated. The patch below seems
    simpler to me and has eliminated the complicated routine
    reassign_cpu_only_nodes. There isn't any longer the requirement
    to modify ACPI NUMA information which was in large part the
    complexity introduced in reassign_cpu_only_nodes.

    This patch will produce a different number of nodes. For example,
    reassign_cpu_only_nodes would reduce two CPUonly nodes and one memory node
    configuration to one memory+CPUs node configuration. This patch
    doesn't change the number of nodes which means the user will see three. Two
    nodes without memory and one node with all the memory.

    While doing this patch, I noticed that early_nr_phys_cpus_node isn't serving
    any useful purpose. It is called once in find_pernode_space but the value
    isn't used to computer pernode space.

    Signed-off-by: bob.picco
    Signed-off-by: Tony Luck

    bob.picco