# BASE v2.6.28-rc8-1-g6c34bc2

### Start CPUMASK
# They exactly match the cpumask tree.
# These patches are "big bang" transitions.  They go at the front.
cpumask:centralize-common-maps.patch
cpumask:convert-few-difficult-cpumask_t-users.patch
cpumask:irq-functions-take-cpumask_t-ptr.patch
cpumask:clock_event_device-takes-cpumask-ptr.patch
cpumask:CONFIG_CPUMASK_OFFSTACK.patch
cpumask:cpumask_of_node.patch
cpumask:use-all-bits-unless-CONFIG_CPUMASK_OFFSTACK.patch
cpumask:alloc_cpumask_var_node.patch
cpumask:cpumask_var-documentation.patch
cpumask:sysfs-kernel_max-and-offline.patch
sysfs:add-ABI-documentation-for-sys_devices_system_cpu.patch
### END CPUMASK

# NEXT_PATCHES_START
# NEXT_BASE rr_cpumask
# MM_PATCHES_START
# Trivial compilation fixes.
cpumask:smp_call_function_many-up-fix.patch

## for-linus
#stop_machine:debugging-spew.patch
## for-linus end

#lguest:debug-efi-problem.patch

# misc
# virtio net

# virtio
virtio:pci_queue_allocation_not_page_aligned.patch
virtio:struct_device_replace_bus_id_with_dev_name_dev_set_name.patch
virtio:VIRTIO_PCI_QUEUE_ADDR_SHIFT.patch
virtio:rename-vring-pagesize-to-align.patch
virtio:VIRTIO_PCI_VRING_ALIGN.patch
virtio:LGUEST_VRING_ALIGN.patch
virtio:KVM_S390_VIRTIO_RING_ALIGN.patch
virtio:virtqueue-hand-in-vqalign.patch
virtio:balloon_avoid_Linux_page_size.patch
virtio:block-no-max-segment-size-by-default.patch
virtio:block-dynamic-max-segments.patch
virtio:blk_fix_type_warning.patch
virtio:net_large_tx_mtu_support.patch
virtio:add_pci_device_release_function.patch
#lguest:change-virtio_ring-align.patch

virtio:console_support_console_resizing.patch
virtio:kvm_s390_implement_config_changed_for_on_s390.patch

# console work

# lguest
#lguest:no-signals-for-timeout.patch
lguest:move_the_initial_guest_page_table_creation_code_to_the_host.patch
lguest:struct_device_replace_bus_id_with_dev_name.patch

module:remove_config_kmod.patch
module:compare-sym-values-for-export-mark-in-proc-kallsyms.patch
module:print_unload_info-no-proc.patch

bitmap:test-for-constant.patch
bitmap:fix-seq_bitmap-const.patch

# Grep -w pattern for cpumask conversion: CPU_MASK_ALL\|CPU_MASK_NONE\|CPU_MASK_ALL_PTR\|cpu_set\|cpu_clear\|cpu_remap\|cpu_test_and_set\|cpu_isset\|cpus_and\|cpus_andnot\|cpus_addr\|cpus_[b-z][a-z]*\|cpus_shift_[a-z]*\|next_cpu_nr\|for_each_cpu_mask_nr\|cpumask_of_cpu\|for_each_cpu_mask\|first_cpu\|next_cpu\|any_online_cpu\|CPUMASK_ALLOC\|CPUMASK_FREE\|CPUMASK_PTR\|cpu_\(possible\|online\|present\|active\)_map\|cpu_mask_all\|cpumask_t\|NR_CPUS|node_to_cpumask_ptr

# CPUMASK prequisites
6cc88bc4.patch
cpumask:zero-extra-bits.patch

cpumask:for_each_cpu-in-cpumask.h.patch
cpumask:cpu_online_mask-etc-as-primary.patch
cpumask:convert-cpumask.h.patch
cpumask:out-of-line-accessors.patch
#cpumask:add_sysfs_displays_for_configured_and_disabled_cpu_maps.patch

cpumask:smp_call_function_many.patch
cpumask:arch_send_call_function_ipi_mask-core.patch

cpumask:fix-impossible-percpu-accesses-pnp.patch
cpumask:fix-impossible-percpu-accesses-m32r.patch
cpumask:fix-impossible-percpu-accesses-x86.patch

cpumask:infiniband-avoid-NR_CPUS-iteration.patch
cpumask:convert-drivers_infiniband_ehca.patch
cpumask:convert-drivers_infiniband_ipath.patch
cpumask:use-nr_cpu_ids-in-seq_cpumask.patch

cpumask:cpumask_of_node-x86.patch
cpumask:cpumask_of_node-sparc.patch
cpumask:cpumask_of_node-sh.patch
cpumask:cpumask_of_node-powerpc.patch
cpumask:cpumask_of_node-ia64.patch
cpumask:cpumask_of_node-ia64-fix.patch
cpumask:cpumask_of_node-mips.patch
cpumask:cpumask_of_node-alpha.patch

cpumask:all-ops-compare-against-nr_cpu_ids-core.patch
cpumask:all-ops-compare-against-nr_cpu_ids-net.patch
cpumask:CONFIG_NR_CPUS-always.patch
cpumask:use-cpumap-accessors-core.patch
parisc:remove-cpu_online_map-declaration.patch
avr32:__fls.patch
blackfin:__fls.patch
m68k:__fls.patch
m68knommu:__fls.patch
bitmap:find_last_bit.patch
bitmap:find_last_bit-fix.patch
cpumask:use-find_last_bit.patch

# work_on_cpu changes
misc:work_on_cpu-acpi.patch
misc:work_on_cpu-dcdbas.patch
misc:work_on_cpu-pci.patch
misc:work_on_cpu-powerpc-sysfs.patch

cpumask:cpu_coregroup_mask-x86.patch
cpumask:cpu_coregroup_mask-sparc.patch
cpumask:cpu_coregroup_mask-s390.patch
cpumask:use-cpu_coregroup_mask.patch

cpumask:topology_core_cpumask-and-topology_thread_cpumask-x86.patch
cpumask:topology_core_cpumask-and-topology_thread_cpumask-sparc.patch
cpumask:topology_core_cpumask-and-topology_thread_cpumask-s390.patch
cpumask:topology_core_cpumask-and-topology_thread_cpumask-powerpc.patch
cpumask:topology_core_cpumask-and-topology_thread_cpumask-ia64.patch
cpumask:use-topology_core_cpumask-and-topology_thread_cpumask.patch

cpumask:convert-kernel_trace.patch
cpumask:remove-any_online_cpu-users-kernel.patch
cpumask:remove-any_online_cpu-users-mm.patch
cpumask:convert-kernel_compat.c.patch
cpumask:convert-kernel_workqueue.c.patch
cpumask:convert-kernel_time.patch
cpumask:convert-kernel_irq.patch
cpumask:convert-kernel_rcu.patch
cpumask:convert-kernel_profile.patch
cpumask:convert-kernel_cpu.patch
cpumask:convert-kernel.patch
cpumask:convert-mm.patch
cpumask:get-rid-of-_nr-core.patch

cpumask:CONFIG_DISABLE_OBSOLETE_CPUMASK_FUNCTIONS.patch

# MM_PATCHES_END
# NEXT_PATCHES_END

# cpualloc
#cpualloc:make-ip_rt_acct-static-percpu.patch
cpualloc:big_percpu_alloc.patch
cpualloc:move-net-to-big_alloc_percpu.patch
cpualloc:remove-alignment-on-cpu_workqueue_struct.patch
#cpualloc:annotate-users.patch

# TODO: remove alignment padding on SNMP
# TODO: use local_t in SNMP iff smaller than current

cpualloc:remove-percpu_ptr-users.patch
cpualloc:add-align-arg-to-__alloc_percpu.patch
cpualloc:make_the_per_cpu_reserve_configurable.patch
cpualloc:generalize-percpu_modalloc-percpu_modfree.patch
cpualloc:expose-module-percpu-allocator.patch
cpualloc:use-module-allocator.patch
cpualloc:documentation.patch
cpualloc:get_cpu_ptr.patch
cpualloc:read_percpu.patch
cpualloc:remove-per_cpu__-prefix.patch
cpualloc:__percpu-annotation-for-sparse.patch
cpualloc:polish-users.patch
cpualloc:test.patch

# Sent to maintainers already.
kvm:remote_request.patch
kvm:modernize-cpumask.patch
kvm:cpus_hardware_enabled-cpumask_var_t.patch

cpumask:get-rid-of-_nr-sparc64.patch
cpumask:use-smp_call_function_many-sparc64.patch
cpumask:use-smp_call_function_many-arm.patch
# END sent

cpumask:arch_send_call_function_ipi_mask-sparc.patch
cpumask:arch_send_call_function_ipi_mask-sh.patch
cpumask:arch_send_call_function_ipi_mask-powerpc.patch
cpumask:arch_send_call_function_ipi_mask-parisc.patch
cpumask:arch_send_call_function_ipi_mask-mips.patch
cpumask:arch_send_call_function_ipi_mask-m32r.patch
cpumask:arch_send_call_function_ipi_mask-ia64.patch
cpumask:arch_send_call_function_ipi_mask-arm.patch
cpumask:arch_send_call_function_ipi_mask-alpha.patch

module_param:mem-type.patch

# x86 prerequisites.
569712b2.patch
54ac14a8.patch
b5fe363b.patch
# This isn't really cpumask, but needed prior to some of them.
x86:speedstep-centrino-cleanup.patch

# Mike wanted these here as separate patches for easy backporting.
x86:modify-send_IPI-API.patch

x86:add-cpu_mask_to_apicid_and.patch
x86:add-cpu_mask_to_apicid_and-fix.patch
x86:irq-functions-take-cpumask_t-ptr.patch
x86:set_desc_affinity.patch
x86:genapic-uses-struct-cpumask.patch
x86:fixup_irqs-needs-no-args.patch

x86:enable-MAXSMP.patch
x86:CONFIG_NR_CPUS-always.patch
x86:move-and-enhance-cpu-debug-printk.patch

cpumask:all-ops-compare-against-nr_cpu_ids-x86.patch

cpumask:use-cpumap-accessors-x86.patch


# These seemed like a good idea, but lots of code for little gain.
#bitmap:find_next_bit_and.patch
#cpumask:use-find_next_bit_and.patch

misc:work_on_cpu-x86-intel_cachinfo.patch
misc:work_on_cpu-x86-amd64.patch
cpumask:get-rid-of-CPUMASK_ALLOC-x86.patch

cpumask:get-rid-of-_nr-x86.patch

cpumask:use-smp_call_function_many-x86.patch

cpumask:convert-acpi_processor-structs.patch
cpumask:convert-drivers_acpi.patch
cpumask:convert-drivers.patch
cpumask:convert-misc.patch

cpumask:more-work_on_cpu.patch
x86:use-cpumask_var_t-in-acpi_boot.c
#x86:use-cpumask_var_t-in-intel_cacheinfo.c
x86:use-cpumask_next_zero.patch
x86:io_apic-leak-fix.patch

# Seep slowly through archs, but not a huge issue if it takes a few
# versions
cpumask:all-ops-compare-against-nr_cpu_ids-um.patch
cpumask:all-ops-compare-against-nr_cpu_ids-sparc64.patch
cpumask:all-ops-compare-against-nr_cpu_ids-sparc.patch
cpumask:all-ops-compare-against-nr_cpu_ids-sh.patch
cpumask:all-ops-compare-against-nr_cpu_ids-s390.patch
cpumask:all-ops-compare-against-nr_cpu_ids-powerpc.patch
cpumask:all-ops-compare-against-nr_cpu_ids-parisc.patch
cpumask:all-ops-compare-against-nr_cpu_ids-mn10300.patch
cpumask:all-ops-compare-against-nr_cpu_ids-mips.patch
cpumask:all-ops-compare-against-nr_cpu_ids-m68knommu.patch
cpumask:all-ops-compare-against-nr_cpu_ids-m32r.patch
cpumask:all-ops-compare-against-nr_cpu_ids-ia64.patch
cpumask:all-ops-compare-against-nr_cpu_ids-h8300.patch
cpumask:all-ops-compare-against-nr_cpu_ids-frv.patch
cpumask:all-ops-compare-against-nr_cpu_ids-cris.patch
cpumask:all-ops-compare-against-nr_cpu_ids-arm.patch
cpumask:all-ops-compare-against-nr_cpu_ids-alpha.patch

cpumask:use-cpumap-accessors-sparc.patch
cpumask:use-cpumap-accessors-alpha.patch
cpumask:use-cpumap-accessors-parisc.patch
cpumask:use-cpumap-accessors-um.patch
cpumask:use-cpumap-accessors-sparc64.patch
cpumask:use-cpumap-accessors-sh.patch
cpumask:use-cpumap-accessors-s390.patch
cpumask:use-cpumap-accessors-powerpc.patch
cpumask:use-cpumap-accessors-mips.patch
cpumask:use-cpumap-accessors-m32r.patch
cpumask:use-cpumap-accessors-ia64.patch
cpumask:use-cpumap-accessors-cris.patch
cpumask:use-cpumap-accessors-arm.patch

x86:mm_struct-cpumask-ptr.patch
x86:flush_tlb_others-cpumask-ptr.patch

# Grep -w pattern for operators: cpus_and\|cpus_andnot\|cpus_[b-z][a-z]*\|cpus_shift_[a-z]*\|next_cpu_nr\|for_each_cpu_mask_nr\|for_each_cpu_mask\|first_cpu\|next_cpu\|any_online_cpu\|NR_CPUS
cpumask:powerpc-complete-conversion.patch

# Final removal
#cpumask:use-cpumask_of_node-in-sched.patch
cpumask:use-cpumask_of_node-in-kernel.patch
cpumask:replace-and-remove-pcibus_to_cpumask.patch
cpumask:remove-node_to_cpumask.patch
cpumask:remove-topology_core_siblings-and-topology_thread_siblings.patch
cpumask:remove-cpu_coregroup_map.patch
cpumask:remove-arch_send_call_function_ipi.patch
cpumask:CONFIG_DISABLE_CPUMASK_TYPEDEF.patch

# Fixes: fold backwards
### END cpumask

misc:test-local_t.patch

# command line patches.
misc:remove-start_kernel-prototypes.patch
net:netdev_alloc_skb-large-skb-feature.patch
net:netdev_free_skb.patch
net:e1000-use-netdev_free_skb.patch

misc:Documentation-kobject.txt-cleanup.patch
misc:acpi-module_param-simplify.patch

## The sched patches sent to Ingo (based on his -sched tree)
#sched:reduce-stack-usage.patch
#cpumask:for_each_cpu-sched.c.patch
#cpumask:use-alloc_cpumask_var-in-sched.patch
#cpumask:remove-any_online_cpu-users-sched.c.patch
#cpumask:wrap-sched_group-and-sched_domain.patch
#cpumask:convert-sched_group.patch
#cpumask:convert-nohz_cpu_mask.patch
#cpumask:convert-root_domain.patch
#cpumask:convert-sched.c-struct-nohz.patch
#cpumask:convert-sched.c-idle_balance.patch
#cpumask:convert-sched.c-rebalance_domains.patch
#cpumask:convert-sched.c-getaffinity.patch
#cpumask:convert-sched.c-move_task_off_dead_cpu.patch
#cpumask:convert-sched.c-setaffinity.patch
#cpumask:convert-sched.c-sched_domain_debug.patch
#cpumask:convert-cpu_isolated_map.patch
#cpumask:convert-sched.c-fallback_doms.patch
#cpumask:convert-sched_cpupri.patch
#cpumask:convert-sched_rt-check_preempt_equal_prio.patch
#cpumask:convert-sched_rt-local_cpu_mask.patch
#cpumask:convert-sched-trivial.patch
#cpumask:convert-kernel-cpuset.c.patch

# Already in linux-next

# Another set to be pushed wider.
cpumask:percpu_alloc-nmi.patch
cpumask:percpu_alloc-mce_64.patch
cpumask:percpu_alloc-mce_64-fix.patch
cpumask:percpu_alloc-ebtables.patch
cpumask:percpu_alloc-ebtables-fix.patch
cpumask:percpu_alloc-trace.patch
cpumask:percpu_alloc-ipv4.patch
cpumask:percpu_alloc-ipv6.patch
cpumask:percpu_alloc-net-dma.patch

# cpumask junkyard
cpumask:smp_call_function_many-s390.patch

lguest:change_over_to_using_kvm_hypercalls_mechanism.patch

# virtio net are in Dave's tree, avoid conflict.
virtio:net_recycle_some_more_rx_buffer_pages.patch
virtio:net_hook_up_the_set_tso_ethtool_op.patch
virtio:net-mergeable-rx-bufs.patch
virtio:net_add_link_status_handling.patch

#virtio:use-sglist.patch
#virtio:block-use-sg_table.patch

# PAE crashes my host.
lguest:physical_address_extension_support.patch
lguest:sparse-fixes.patch
lguest:page_size_extension_support.patch
lguest:guest_pse_support-doc.patch

#lguest:move_the_initial_guest_page_table_creation_code_to_the_host.patch
#lguest:physical_address_extension_support.patch
#lguest:page_size_extension_support.patch

arm:use-generic-early_param.patch

misc:pskb_alloc.patch
virtio:net_use_alloc_pskb.patch
lguest:tweak-net-timeout.patch
lguest:network-counters.patch
misc:ERR_PTR-and-PTR_ERR-cold.patch

kthread:kthread_stop-void-return.patch

# Not sure about this one, still debating.
stop_machine:add_stopmachine_timeout.patch

# Index patches.  Not sure about these yet.
virtio:ring-publish-indices.patch
lguest:publish-indices.patch

# Tun vringfd work
#misc:cpumask_of_cpu_map.patch
misc:dev_vring.patch
misc:ringfd-base-limit.patch
misc:tun-vring.patch
misc:tun-vring-xmit.patch
lguest:use-tun-ringfd.patch
misc:vring-handle-suppression.patch

# Async non-copy TUN.
misc:skb_shinfo-destructor.patch
misc:export-release_pages.patch
#misc:tun-xmit-vring.patch
#misc:tun_fix_csum_start_computation.patch

misc:jhash-bench.c
misc:jhash-lookup3.patch
misc:anon_inodes-cleanup.patch
#lguest:network-thread.patch
#virtio:threshold-notify.patch

## still pending

# From here on, it's experimental and crazy stuff (or stuff which was sent
# via other maintainers).

# Past here is kind of broken at the moment.
#misc:tun-vring-suppress-notifications.patch
#virtio:net-investigate.patch
#virtio:virtio_net-performance-stats.patch
lguest:dump_devices.patch
#lguest:allow-non-gso.patch

# Experiment to add explicit threshold to vring.
#virtio:threshold-extension.patch
#lguest:threshold.patch
#stop_machine:ipi.patch

misc:remove-vfs_caches_init_early.patch
lguest:mem-encapsulate.patch
lguest:encapsulate-virtqueue_info.patch
lguest:simply-ignore-bad-virtqueues.patch
lguest:mmap-file-for-guest.patch
lguest:inter-guest-net.patch

lguest:config_changed.patch
lguest:balloon-support.patch
misc:sg_chain-remove-end-bit.patch
#virtio:use-sg-chain.patch
#virtio:blk-sg_chain-based.patch
virtio:documentation.patch
#
#


#misc:timer-slop.patch
lguest:rtc.patch
# Typesafe patches
misc:cast_if_type.patch
misc:typesafe_cb.patch
misc:kthread-typesafe.patch
misc:stop_machine-typesafe.patch
misc:timer-typesafe.patch
misc:request_irq-typesafe.patch
misc:stop_machine-convert-typesafe.patch
misc:request_irq-correct-handler-type.patch
misc:fix-net-null-request_irq.patch
lguest:typesafe-irq-handler.patch
misc:fixup-kthread-users-typesafe.patch
misc:request_irq-BUG_ON.patch
misc:alloc_goodsize_table.patch
virtio:blk-discard-sectors.patch

#net:soft-ufo-support.patch

# down_trylock removal.  Nacked by Linus.
misc:introduce-down_nowait.patch
misc:down_nowait.patch
misc:down_nowait-documentation.patch
misc:down_nowait-arch_ia64_kernel_salinfo.patch
misc:down_nowait-drivers_char_snsc.patch
misc:down_nowait-drivers_char_viotape.patch
misc:down_nowait-drivers_infiniband_core_user_mad.patch
misc:down_nowait-drivers_input_serio_hil_mlc.patch
misc:down_nowait-drivers_input_serio_hp_sdc_mlc.patch
misc:down_nowait-drivers_md_dm-raid1.patch
misc:down_nowait-drivers_net_3c527.patch
misc:down_nowait-drivers_net_irda_sir_dev.patch
misc:down_nowait-drivers_net_wireless_airo.patch
misc:down_nowait-drivers_scsi_aacraid_commsup.patch
misc:down_nowait-drivers_usb_core_usb.patch
misc:down_nowait-drivers_usb_gadget_inode.patch
misc:down_nowait-xfs.patch
misc:down_nowait-kernel_printk.patch