From: William Lee Irwin III (wli@holomorphy.com)
Date: Thu Dec 12 2002 - 12:30:49 EST

Reorganized the patches, fixed some bugs, and so on. Available from:


Notable events:
        (1) bugfix for unconditionally setting nr_ioapics = 2
                reported by Zwane Mwaikambo
        (2) bugfix for misaligned order > 0 frees in NUMA-Q highpage init.
        (3) dropped manfred's slab changes; they're no longer needed
        (4) no preallocation of pmd's in the pgd ctor; they exhibited
                extremely poor fragmentation characteristics when
                that was done. Just slab allocate pmd's in pgd_alloc().

I never really commented on the theme of the tree. It's basically a
bunch of things that are obvious to me how to do and a place to dump
patches that don't really fit into other trees (e.g. -mm), though I
think some of the NUMA-Q stuff might eventually get thrown over the
wall in the direction of -mjb. =) Sound bite: misc patches from wli.

The net effect is that some odd bootstrapping, wait table hashing,
memory initialization, and tasklist scan removal patches landed here.
Other stuff will crop up as I poke around the tree.

        fix for still-broken driverfs memblk and node registration.
        I suspect this might hit mainline soon.

        Workaround for PCI bridges on different PCI segments
        with clashing bus numbers until it's fixed (by me). Drop
        IO-APIC's and PCI buses off node 0 onto the floor. Bugfix
        to set nr_ioapics only if (clustered_apic_mode) and take
        min(2, nr_ioapics) to avoid elevating nr_ioapics. Some
        NUMA-Q PCI code may appear soon to replace this...

        Remove tasklist iteration from __do_SAK(); it's simply trying
        to kill off tasks in a given session; use for_each_task_pid().

        proc_fill_super() is iterating over the tasklist because there
        is no count of processes (only threads). Use a process counter.

        cap_set_pg() is iterating over the tasklist in search of tasks
        within a process group; use for_each_task_pid().

        vm86 wants to clean up references to tasks. Do so by cleaning
        up stale references in release_thread(), not by GC that walks
        the tasklist comparing (possibly reused) task_struct pointers.
        This was originally part of a bugfix in -dj only half of which
        made it to mainline.

        UML's get_task() is looking for a task with a given pid; use
        find_task_by_pid() instead of walking the tasklist.

        Free higher-order pages in NUMA-Q highmem mem_map initialization
        instead of freeing order 0 pages at a time. New bugfix here that
        fixes some improperly-aligned frees. There's an irritated nested
        min() duplicate const warning.

        Allocate pgdats from node-local memory on NUMA-Q

        Remove the unused has_stopped_jobs() from kernel/exit.c
        and rename __has_stopped_jobs() to has_stopped_jobs().

        Increase the too-small inode wait table's size.

        Use slab ctor's for pgd's and pmd's on PAE i386 boxen.
        One of the primary benefits is that pmd's are actually
        accounted (via /proc/slabinfo) so their lowmem consumption
        is directly visible.
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

This archive was generated by hypermail 2b29 : Sun Dec 15 2002 - 22:00:25 EST