rpms/kernel/devel Makefile, 1.119, 1.120 git-linus.diff, 1.20, 1.21 kernel.spec, 1.1879, 1.1880

Chuck Ebbert cebbert at fedoraproject.org
Tue Jan 5 11:21:14 UTC 2010


Author: cebbert

Update of /cvs/pkgs/rpms/kernel/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv29497

Modified Files:
	Makefile git-linus.diff kernel.spec 
Log Message:
NR_CPUS is now 256 on x86_64 release kernels


Index: Makefile
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/Makefile,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -p -r1.119 -r1.120
--- Makefile	25 Nov 2009 23:56:32 -0000	1.119
+++ Makefile	5 Jan 2010 11:21:12 -0000	1.120
@@ -91,7 +91,7 @@ debug:
 	@# just in case we're going from extremedebug -> debug
 	@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
 
-	@perl -pi -e 's/CONFIG_NR_CPUS=64/CONFIG_NR_CPUS=512/' config-x86_64-generic
+	@perl -pi -e 's/CONFIG_NR_CPUS=256/CONFIG_NR_CPUS=512/' config-x86_64-generic
 
 	@perl -pi -e 's/^%define debugbuildsenabled 1/%define debugbuildsenabled 0/' kernel.spec
 	@perl -pi -e 's/^%define rawhide_skip_docs 0/%define rawhide_skip_docs 1/' kernel.spec
@@ -146,14 +146,14 @@ release:
 	@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-debug
 	@perl -pi -e 's/CONFIG_DEBUG_PAGEALLOC=y/# CONFIG_DEBUG_PAGEALLOC is not set/' config-nodebug
 
-	@perl -pi -e 's/CONFIG_NR_CPUS=512/CONFIG_NR_CPUS=64/' config-x86_64-generic
+	@perl -pi -e 's/CONFIG_NR_CPUS=512/CONFIG_NR_CPUS=256/' config-x86_64-generic
 
 	@perl -pi -e 's/^%define debugbuildsenabled 0/%define debugbuildsenabled 1/' kernel.spec
 	@perl -pi -e 's/^%define rawhide_skip_docs 1/%define rawhide_skip_docs 0/' kernel.spec
 
 rhel:
 	@perl -pi -e 's/# CONFIG_PPC_64K_PAGES is not set/CONFIG_PPC_64K_PAGES=y/' config-powerpc64
-	@perl -pi -e 's/CONFIG_NR_CPUS=64/CONFIG_NR_CPUS=512/' config-x86_64-generic
+	@perl -pi -e 's/CONFIG_NR_CPUS=256/CONFIG_NR_CPUS=512/' config-x86_64-generic
 
 reconfig:
 	@rm -f kernel-*-config

git-linus.diff:
 Documentation/filesystems/ext4.txt             |    2 
 arch/powerpc/kernel/align.c                    |   63 +++++-
 arch/x86/include/asm/msr.h                     |   19 +-
 arch/x86/include/asm/processor.h               |    2 
 arch/x86/include/asm/uv/uv_hub.h               |   86 +++++----
 arch/x86/kernel/amd_iommu_init.c               |   10 +
 arch/x86/kernel/apic/x2apic_uv_x.c             |   12 -
 arch/x86/kernel/ptrace.c                       |   16 -
 arch/x86/kvm/lapic.c                           |    1 
 arch/x86/kvm/paging_tmpl.h                     |   18 -
 arch/x86/lib/Makefile                          |    4 
 arch/x86/lib/msr.c                             |  227 +------------------------
 drivers/acpi/button.c                          |    7 
 drivers/acpi/ec.c                              |   10 -
 drivers/ata/pata_cmd64x.c                      |    2 
 drivers/ata/pata_hpt3x2n.c                     |   64 +++----
 drivers/bluetooth/btusb.c                      |    1 
 drivers/dma/at_hdmac.c                         |    4 
 drivers/dma/ioat/dma.c                         |    2 
 drivers/dma/ioat/dma.h                         |   18 +
 drivers/dma/ioat/dma_v2.c                      |   69 +++++--
 drivers/dma/ioat/dma_v2.h                      |    2 
 drivers/dma/ioat/dma_v3.c                      |   60 ++++--
 drivers/dma/ioat/registers.h                   |    1 
 drivers/edac/amd64_edac.c                      |  221 +++++++++++++-----------
 drivers/edac/amd64_edac.h                      |    9 
 drivers/gpu/drm/drm_crtc_helper.c              |    3 
 drivers/gpu/drm/radeon/atombios_crtc.c         |    6 
 drivers/gpu/drm/radeon/radeon_test.c           |    4 
 drivers/hwmon/sht15.c                          |    6 
 drivers/lguest/segments.c                      |    4 
 drivers/md/md.c                                |    8 
 drivers/media/video/ov511.c                    |    2 
 drivers/net/e100.c                             |    2 
 drivers/net/usb/rtl8150.c                      |    2 
 drivers/net/wireless/ath/ath5k/base.c          |    7 
 drivers/net/wireless/ath/ath9k/hw.h            |    2 
 drivers/net/wireless/ath/ath9k/mac.c           |    2 
 drivers/net/wireless/ath/ath9k/mac.h           |    3 
 drivers/net/wireless/ath/ath9k/main.c          |   14 +
 drivers/net/wireless/ath/ath9k/reg.h           |    4 
 drivers/net/wireless/ath/ath9k/xmit.c          |    6 
 drivers/net/wireless/b43/rfkill.c              |   10 -
 drivers/net/wireless/iwlwifi/iwl-3945.c        |    2 
 drivers/net/wireless/iwlwifi/iwl-4965.c        |    2 
 drivers/net/wireless/iwlwifi/iwl-5000-hw.h     |   14 -
 drivers/net/wireless/iwlwifi/iwl-5000.c        |    7 
 drivers/net/wireless/iwlwifi/iwl-dev.h         |    2 
 drivers/net/wireless/iwlwifi/iwl-eeprom.c      |   23 +-
 drivers/net/wireless/iwlwifi/iwl-eeprom.h      |    4 
 drivers/net/wireless/iwlwifi/iwl3945-base.c    |   11 -
 drivers/net/wireless/iwmc3200wifi/iwm.h        |    2 
 drivers/net/wireless/libertas/wext.c           |    2 
 drivers/net/wireless/orinoco/wext.c            |    6 
 drivers/platform/x86/acerhdf.c                 |    7 
 drivers/s390/block/dasd_diag.c                 |   19 +-
 drivers/scsi/ipr.c                             |    1 
 drivers/scsi/qla2xxx/qla_os.c                  |    6 
 drivers/scsi/scsi_transport_fc.c               |   17 +
 drivers/scsi/st.c                              |   23 +-
 drivers/scsi/st.h                              |    1 
 drivers/usb/core/hub.c                         |   58 +++---
 drivers/usb/core/sysfs.c                       |    6 
 drivers/usb/misc/appledisplay.c                |    4 
 drivers/usb/misc/emi62.c                       |    2 
 drivers/usb/musb/musb_gadget_ep0.c             |   14 +
 drivers/usb/serial/option.c                    |    5 
 drivers/xen/xenbus/xenbus_probe.c              |   42 +++-
 fs/cifs/connect.c                              |   13 -
 fs/ext4/ext4.h                                 |    6 
 fs/ext4/inode.c                                |   36 ++-
 fs/ext4/mballoc.c                              |    6 
 fs/ext4/super.c                                |    5 
 fs/quota/dquot.c                               |  213 +++++++++++++----------
 fs/stat.c                                      |   10 -
 fs/udf/super.c                                 |   32 ++-
 include/linux/cpumask.h                        |    2 
 include/linux/fs.h                             |    1 
 include/linux/quota.h                          |    5 
 include/linux/security.h                       |    7 
 include/net/ip.h                               |    1 
 include/net/ipv6.h                             |    8 
 include/net/netfilter/ipv6/nf_conntrack_ipv6.h |    2 
 kernel/cpu.c                                   |   18 +
 kernel/cpuset.c                                |   16 -
 kernel/sched.c                                 |   40 ++--
 kernel/sched_fair.c                            |    3 
 kernel/sysctl.c                                |    5 
 kernel/time/clockevents.c                      |   18 +
 lib/dma-debug.c                                |    8 
 mm/Kconfig                                     |    1 
 mm/memcontrol.c                                |    8 
 mm/oom_kill.c                                  |    2 
 mm/vmscan.c                                    |   18 +
 net/ipv4/netfilter/nf_defrag_ipv4.c            |   21 +-
 net/ipv6/netfilter/nf_conntrack_l3proto_ipv6.c |   19 +-
 net/ipv6/netfilter/nf_conntrack_reasm.c        |    7 
 net/ipv6/reassembly.c                          |    5 
 net/mac80211/ibss.c                            |    4 
 net/mac80211/mlme.c                            |    8 
 net/mac80211/tx.c                              |    1 
 net/mac80211/util.c                            |   12 +
 net/wireless/mlme.c                            |   13 +
 security/Makefile                              |    3 
 security/keys/keyctl.c                         |   10 +
 sound/mips/sgio2audio.c                        |    2 
 sound/pci/hda/patch_realtek.c                  |    6 
 sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c         |    2 
 sound/soc/codecs/wm8974.c                      |    2 
 sound/soc/codecs/wm9712.c                      |    3 
 sound/usb/usbaudio.c                           |    2 
 vanilla-2.6.32.2/arch/x86/lib/msr-smp.c        |  204 ++++++++++++++++++++++
 112 files changed, 1302 insertions(+), 801 deletions(-)

View full diff with command:
/usr/bin/cvs -n -f diff -kk -u -p -N -r 1.20 -r 1.21 git-linus.diffIndex: git-linus.diff
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/git-linus.diff,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -p -r1.20 -r1.21
--- git-linus.diff	3 Nov 2009 05:02:44 -0000	1.20
+++ git-linus.diff	5 Jan 2010 11:21:12 -0000	1.21
@@ -0,0 +1,4601 @@
+--- vanilla-2.6.32.2.orig/drivers/scsi/ipr.c
++++ vanilla-2.6.32.2/drivers/scsi/ipr.c
+@@ -6516,6 +6516,7 @@ static int ipr_reset_restore_cfg_space(s
+ 	int rc;
+ 
+ 	ENTER;
++	ioa_cfg->pdev->state_saved = true;
+ 	rc = pci_restore_state(ioa_cfg->pdev);
+ 
+ 	if (rc != PCIBIOS_SUCCESSFUL) {
+--- vanilla-2.6.32.2.orig/drivers/scsi/qla2xxx/qla_os.c
++++ vanilla-2.6.32.2/drivers/scsi/qla2xxx/qla_os.c
+@@ -2016,13 +2016,13 @@ skip_dpc:
+ 	DEBUG2(printk("DEBUG: detect hba %ld at address = %p\n",
+ 	    base_vha->host_no, ha));
+ 
+-	base_vha->flags.init_done = 1;
+-	base_vha->flags.online = 1;
+-
+ 	ret = scsi_add_host(host, &pdev->dev);
+ 	if (ret)
+ 		goto probe_failed;
+ 
++	base_vha->flags.init_done = 1;
++	base_vha->flags.online = 1;
++
+ 	ha->isp_ops->enable_intrs(ha);
+ 
+ 	scsi_scan_host(host);
+--- vanilla-2.6.32.2.orig/drivers/scsi/st.c
++++ vanilla-2.6.32.2/drivers/scsi/st.c
+@@ -552,13 +552,15 @@ st_do_scsi(struct st_request * SRpnt, st
+ 	SRpnt->waiting = waiting;
+ 
+ 	if (STp->buffer->do_dio) {
++		mdata->page_order = 0;
+ 		mdata->nr_entries = STp->buffer->sg_segs;
+ 		mdata->pages = STp->buffer->mapped_pages;
+ 	} else {
++		mdata->page_order = STp->buffer->reserved_page_order;
+ 		mdata->nr_entries =
+ 			DIV_ROUND_UP(bytes, PAGE_SIZE << mdata->page_order);
+-		STp->buffer->map_data.pages = STp->buffer->reserved_pages;
+-		STp->buffer->map_data.offset = 0;
++		mdata->pages = STp->buffer->reserved_pages;
++		mdata->offset = 0;
+ 	}
+ 
+ 	memcpy(SRpnt->cmd, cmd, sizeof(SRpnt->cmd));
+@@ -3718,7 +3720,7 @@ static int enlarge_buffer(struct st_buff
+ 		priority |= __GFP_ZERO;
+ 
+ 	if (STbuffer->frp_segs) {
+-		order = STbuffer->map_data.page_order;
++		order = STbuffer->reserved_page_order;
+ 		b_size = PAGE_SIZE << order;
+ 	} else {
+ 		for (b_size = PAGE_SIZE, order = 0;
+@@ -3751,7 +3753,7 @@ static int enlarge_buffer(struct st_buff
+ 		segs++;
+ 	}
+ 	STbuffer->b_data = page_address(STbuffer->reserved_pages[0]);
+-	STbuffer->map_data.page_order = order;
++	STbuffer->reserved_page_order = order;
+ 
+ 	return 1;
+ }
+@@ -3764,7 +3766,7 @@ static void clear_buffer(struct st_buffe
+ 
+ 	for (i=0; i < st_bp->frp_segs; i++)
+ 		memset(page_address(st_bp->reserved_pages[i]), 0,
+-		       PAGE_SIZE << st_bp->map_data.page_order);
++		       PAGE_SIZE << st_bp->reserved_page_order);
+ 	st_bp->cleared = 1;
+ }
+ 
+@@ -3772,7 +3774,7 @@ static void clear_buffer(struct st_buffe
+ /* Release the extra buffer */
+ static void normalize_buffer(struct st_buffer * STbuffer)
+ {
+-	int i, order = STbuffer->map_data.page_order;
++	int i, order = STbuffer->reserved_page_order;
+ 
+ 	for (i = 0; i < STbuffer->frp_segs; i++) {
+ 		__free_pages(STbuffer->reserved_pages[i], order);
+@@ -3780,7 +3782,7 @@ static void normalize_buffer(struct st_b
+ 	}
+ 	STbuffer->frp_segs = 0;
+ 	STbuffer->sg_segs = 0;
+-	STbuffer->map_data.page_order = 0;
++	STbuffer->reserved_page_order = 0;
+ 	STbuffer->map_data.offset = 0;
+ }
+ 
+@@ -3790,7 +3792,7 @@ static void normalize_buffer(struct st_b
+ static int append_to_buffer(const char __user *ubp, struct st_buffer * st_bp, int do_count)
+ {
+ 	int i, cnt, res, offset;
+-	int length = PAGE_SIZE << st_bp->map_data.page_order;
++	int length = PAGE_SIZE << st_bp->reserved_page_order;
+ 
+ 	for (i = 0, offset = st_bp->buffer_bytes;
+ 	     i < st_bp->frp_segs && offset >= length; i++)
+@@ -3822,7 +3824,7 @@ static int append_to_buffer(const char _
+ static int from_buffer(struct st_buffer * st_bp, char __user *ubp, int do_count)
+ {
+ 	int i, cnt, res, offset;
+-	int length = PAGE_SIZE << st_bp->map_data.page_order;
++	int length = PAGE_SIZE << st_bp->reserved_page_order;
+ 
+ 	for (i = 0, offset = st_bp->read_pointer;
+ 	     i < st_bp->frp_segs && offset >= length; i++)
+@@ -3855,7 +3857,7 @@ static void move_buffer_data(struct st_b
+ {
+ 	int src_seg, dst_seg, src_offset = 0, dst_offset;
+ 	int count, total;
+-	int length = PAGE_SIZE << st_bp->map_data.page_order;
++	int length = PAGE_SIZE << st_bp->reserved_page_order;
+ 
+ 	if (offset == 0)
+ 		return;
+@@ -4577,7 +4579,6 @@ static int sgl_map_user_pages(struct st_
+         }
+ 
+ 	mdata->offset = uaddr & ~PAGE_MASK;
+-	mdata->page_order = 0;
+ 	STbp->mapped_pages = pages;
+ 
+ 	return nr_pages;
+--- vanilla-2.6.32.2.orig/drivers/scsi/st.h
++++ vanilla-2.6.32.2/drivers/scsi/st.h
+@@ -46,6 +46,7 @@ struct st_buffer {
+ 	struct st_request *last_SRpnt;
+ 	struct st_cmdstatus cmdstat;
+ 	struct page **reserved_pages;
++	int reserved_page_order;
+ 	struct page **mapped_pages;
+ 	struct rq_map_data map_data;
+ 	unsigned char *b_data;
+--- vanilla-2.6.32.2.orig/drivers/scsi/scsi_transport_fc.c
++++ vanilla-2.6.32.2/drivers/scsi/scsi_transport_fc.c
+@@ -648,11 +648,22 @@ static __init int fc_transport_init(void
+ 		return error;
+ 	error = transport_class_register(&fc_vport_class);
+ 	if (error)
+-		return error;
++		goto unreg_host_class;
+ 	error = transport_class_register(&fc_rport_class);
+ 	if (error)
+-		return error;
+-	return transport_class_register(&fc_transport_class);
++		goto unreg_vport_class;
++	error = transport_class_register(&fc_transport_class);
++	if (error)
++		goto unreg_rport_class;
++	return 0;
++
++unreg_rport_class:
++	transport_class_unregister(&fc_rport_class);
++unreg_vport_class:
++	transport_class_unregister(&fc_vport_class);
++unreg_host_class:
++	transport_class_unregister(&fc_host_class);
++	return error;
+ }
+ 
+ static void __exit fc_transport_exit(void)
+--- vanilla-2.6.32.2.orig/kernel/sched.c
++++ vanilla-2.6.32.2/kernel/sched.c
+@@ -2036,6 +2036,9 @@ task_hot(struct task_struct *p, u64 now,
+ {
+ 	s64 delta;
+ 
++	if (p->sched_class != &fair_sched_class)
++		return 0;
++
+ 	/*
+ 	 * Buddy candidates are cache hot:
+ 	 */
+@@ -2044,9 +2047,6 @@ task_hot(struct task_struct *p, u64 now,
+ 			 &p->se == cfs_rq_of(&p->se)->last))
+ 		return 1;
+ 
+-	if (p->sched_class != &fair_sched_class)
+-		return 0;
+-
+ 	if (sysctl_sched_migration_cost == -1)
+ 		return 1;
+ 	if (sysctl_sched_migration_cost == 0)
+@@ -4139,7 +4139,7 @@ static int load_balance(int this_cpu, st
+ 	unsigned long flags;
[...4210 lines suppressed...]
++
++static void __rwmsr_on_cpus(const struct cpumask *mask, u32 msr_no,
++			    struct msr *msrs,
++			    void (*msr_func) (void *info))
++{
++	struct msr_info rv;
++	int this_cpu;
++
++	memset(&rv, 0, sizeof(rv));
++
++	rv.msrs	  = msrs;
++	rv.msr_no = msr_no;
++
++	this_cpu = get_cpu();
++
++	if (cpumask_test_cpu(this_cpu, mask))
++		msr_func(&rv);
++
++	smp_call_function_many(mask, msr_func, &rv, 1);
++	put_cpu();
++}
++
++/* rdmsr on a bunch of CPUs
++ *
++ * @mask:       which CPUs
++ * @msr_no:     which MSR
++ * @msrs:       array of MSR values
++ *
++ */
++void rdmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs)
++{
++	__rwmsr_on_cpus(mask, msr_no, msrs, __rdmsr_on_cpu);
++}
++EXPORT_SYMBOL(rdmsr_on_cpus);
++
++/*
++ * wrmsr on a bunch of CPUs
++ *
++ * @mask:       which CPUs
++ * @msr_no:     which MSR
++ * @msrs:       array of MSR values
++ *
++ */
++void wrmsr_on_cpus(const struct cpumask *mask, u32 msr_no, struct msr *msrs)
++{
++	__rwmsr_on_cpus(mask, msr_no, msrs, __wrmsr_on_cpu);
++}
++EXPORT_SYMBOL(wrmsr_on_cpus);
++
++/* These "safe" variants are slower and should be used when the target MSR
++   may not actually exist. */
++static void __rdmsr_safe_on_cpu(void *info)
++{
++	struct msr_info *rv = info;
++
++	rv->err = rdmsr_safe(rv->msr_no, &rv->reg.l, &rv->reg.h);
++}
++
++static void __wrmsr_safe_on_cpu(void *info)
++{
++	struct msr_info *rv = info;
++
++	rv->err = wrmsr_safe(rv->msr_no, rv->reg.l, rv->reg.h);
++}
++
++int rdmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
++{
++	int err;
++	struct msr_info rv;
++
++	memset(&rv, 0, sizeof(rv));
++
++	rv.msr_no = msr_no;
++	err = smp_call_function_single(cpu, __rdmsr_safe_on_cpu, &rv, 1);
++	*l = rv.reg.l;
++	*h = rv.reg.h;
++
++	return err ? err : rv.err;
++}
++EXPORT_SYMBOL(rdmsr_safe_on_cpu);
++
++int wrmsr_safe_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
++{
++	int err;
++	struct msr_info rv;
++
++	memset(&rv, 0, sizeof(rv));
++
++	rv.msr_no = msr_no;
++	rv.reg.l = l;
++	rv.reg.h = h;
++	err = smp_call_function_single(cpu, __wrmsr_safe_on_cpu, &rv, 1);
++
++	return err ? err : rv.err;
++}
++EXPORT_SYMBOL(wrmsr_safe_on_cpu);
++
++/*
++ * These variants are significantly slower, but allows control over
++ * the entire 32-bit GPR set.
++ */
++static void __rdmsr_safe_regs_on_cpu(void *info)
++{
++	struct msr_regs_info *rv = info;
++
++	rv->err = rdmsr_safe_regs(rv->regs);
++}
++
++static void __wrmsr_safe_regs_on_cpu(void *info)
++{
++	struct msr_regs_info *rv = info;
++
++	rv->err = wrmsr_safe_regs(rv->regs);
++}
++
++int rdmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs)
++{
++	int err;
++	struct msr_regs_info rv;
++
++	rv.regs   = regs;
++	rv.err    = -EIO;
++	err = smp_call_function_single(cpu, __rdmsr_safe_regs_on_cpu, &rv, 1);
++
++	return err ? err : rv.err;
++}
++EXPORT_SYMBOL(rdmsr_safe_regs_on_cpu);
++
++int wrmsr_safe_regs_on_cpu(unsigned int cpu, u32 *regs)
++{
++	int err;
++	struct msr_regs_info rv;
++
++	rv.regs = regs;
++	rv.err  = -EIO;
++	err = smp_call_function_single(cpu, __wrmsr_safe_regs_on_cpu, &rv, 1);
++
++	return err ? err : rv.err;
++}
++EXPORT_SYMBOL(wrmsr_safe_regs_on_cpu);
+--- vanilla-2.6.32.2.orig/Documentation/filesystems/ext4.txt
++++ vanilla-2.6.32.2/Documentation/filesystems/ext4.txt
+@@ -196,7 +196,7 @@ nobarrier		This also requires an IO stac
+ 			also be used to enable or disable barriers, for
+ 			consistency with other ext4 mount options.
+ 
+-inode_readahead=n	This tuning parameter controls the maximum
++inode_readahead_blks=n	This tuning parameter controls the maximum
+ 			number of inode table blocks that ext4's inode
+ 			table readahead algorithm will pre-read into
+ 			the buffer cache.  The default value is 32 blocks.
+--- vanilla-2.6.32.2.orig/drivers/lguest/segments.c
++++ vanilla-2.6.32.2/drivers/lguest/segments.c
+@@ -179,8 +179,10 @@ void load_guest_gdt_entry(struct lg_cpu 
+ 	 * We assume the Guest has the same number of GDT entries as the
+ 	 * Host, otherwise we'd have to dynamically allocate the Guest GDT.
+ 	 */
+-	if (num >= ARRAY_SIZE(cpu->arch.gdt))
++	if (num >= ARRAY_SIZE(cpu->arch.gdt)) {
+ 		kill_guest(cpu, "too many gdt entries %i", num);
++		return;
++	}
+ 
+ 	/* Set it up, then fix it. */
+ 	cpu->arch.gdt[num].a = lo;
+--- vanilla-2.6.32.2.orig/mm/vmscan.c
++++ vanilla-2.6.32.2/mm/vmscan.c
+@@ -1464,20 +1464,26 @@ static int inactive_file_is_low(struct z
+ 	return low;
+ }
+ 
++static int inactive_list_is_low(struct zone *zone, struct scan_control *sc,
++				int file)
++{
++	if (file)
++		return inactive_file_is_low(zone, sc);
++	else
++		return inactive_anon_is_low(zone, sc);
++}
++
+ static unsigned long shrink_list(enum lru_list lru, unsigned long nr_to_scan,
+ 	struct zone *zone, struct scan_control *sc, int priority)
+ {
+ 	int file = is_file_lru(lru);
+ 
+-	if (lru == LRU_ACTIVE_FILE && inactive_file_is_low(zone, sc)) {
+-		shrink_active_list(nr_to_scan, zone, sc, priority, file);
++	if (is_active_lru(lru)) {
++		if (inactive_list_is_low(zone, sc, file))
++		    shrink_active_list(nr_to_scan, zone, sc, priority, file);
+ 		return 0;
+ 	}
+ 
+-	if (lru == LRU_ACTIVE_ANON && inactive_anon_is_low(zone, sc)) {
+-		shrink_active_list(nr_to_scan, zone, sc, priority, file);
+-		return 0;
+-	}
+ 	return shrink_inactive_list(nr_to_scan, zone, sc, priority, file);
+ }
+ 


Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/devel/kernel.spec,v
retrieving revision 1.1879
retrieving revision 1.1880
diff -u -p -r1.1879 -r1.1880
--- kernel.spec	4 Jan 2010 21:18:05 -0000	1.1879
+++ kernel.spec	5 Jan 2010 11:21:14 -0000	1.1880
@@ -1202,7 +1202,7 @@ ApplyPatch linux-2.6-nfs4-callback-hidde
 ApplyPatch linux-2.6-driver-level-usb-autosuspend.diff
 ApplyPatch linux-2.6-enable-btusb-autosuspend.patch
 ApplyPatch linux-2.6-usb-uvc-autosuspend.diff
-ApplyPatch linux-2.6-fix-btusb-autosuspend.patch
+#ApplyPatch linux-2.6-fix-btusb-autosuspend.patch
 
 # WMI
 ApplyPatch linux-2.6-autoload-wmi.patch
@@ -1322,7 +1322,7 @@ ApplyOptionalPatch drm-intel-next.patch
 #ApplyPatch drm-intel-pm.patch
 # Some BIOSes don't clear the whole GTT, and it causes IOMMU faults
 ApplyPatch linux-2.6-intel-agp-clear-gtt.patch
-ApplyPatch drm-radeon-fix-crtc-vbl-update-for-r600.patch
+#ApplyPatch drm-radeon-fix-crtc-vbl-update-for-r600.patch
 
 # linux1394 git patches
 #ApplyPatch linux-2.6-firewire-git-update.patch




More information about the fedora-extras-commits mailing list