summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeff Garzik <jgarzik@pobox.com>2005-12-06 04:12:02 -0500
committerJeff Garzik <jgarzik@pobox.com>2005-12-06 04:12:02 -0500
commitf38f2a2c6f32bb29bacb95acd8f8a0d6b7270fa9 (patch)
tree2aede472598487d69923875325c0e20ae68d5adf
parent4ef679e6caf1261b6380a610a705a90d7e2738c6 (diff)
parent436b0f76f2cee6617f27a649637766628909dd5d (diff)
downloadop-kernel-dev-f38f2a2c6f32bb29bacb95acd8f8a0d6b7270fa9.zip
op-kernel-dev-f38f2a2c6f32bb29bacb95acd8f8a0d6b7270fa9.tar.gz
Merge branch 'master'
-rw-r--r--Makefile2
-rw-r--r--drivers/Makefile3
-rw-r--r--mm/memory.c2
-rw-r--r--mm/page_alloc.c16
4 files changed, 12 insertions, 11 deletions
diff --git a/Makefile b/Makefile
index 4643d57..b1c458c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,7 @@
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 15
-EXTRAVERSION =-rc4
+EXTRAVERSION =-rc5
NAME=Affluent Albatross
# *DOCUMENTATION*
diff --git a/drivers/Makefile b/drivers/Makefile
index fac1e16..ea410b6 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -5,7 +5,7 @@
# Rewritten to use lists instead of if-statements.
#
-obj-$(CONFIG_PCI) += pci/ usb/
+obj-$(CONFIG_PCI) += pci/
obj-$(CONFIG_PARISC) += parisc/
obj-$(CONFIG_RAPIDIO) += rapidio/
obj-y += video/
@@ -49,6 +49,7 @@ obj-$(CONFIG_ATA_OVER_ETH) += block/aoe/
obj-$(CONFIG_PARIDE) += block/paride/
obj-$(CONFIG_TC) += tc/
obj-$(CONFIG_USB) += usb/
+obj-$(CONFIG_PCI) += usb/
obj-$(CONFIG_USB_GADGET) += usb/gadget/
obj-$(CONFIG_GAMEPORT) += input/gameport/
obj-$(CONFIG_INPUT) += input/
diff --git a/mm/memory.c b/mm/memory.c
index 4b4fc3a..aa8af0e 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1223,7 +1223,7 @@ int vm_insert_page(struct vm_area_struct *vma, unsigned long addr, struct page *
return -EINVAL;
return insert_page(vma->vm_mm, addr, page, vma->vm_page_prot);
}
-EXPORT_SYMBOL_GPL(vm_insert_page);
+EXPORT_SYMBOL(vm_insert_page);
/*
* Somebody does a pfn remapping that doesn't actually work as a vma.
diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index b257720..3b21a13 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -1772,16 +1772,16 @@ static int __devinit zone_batchsize(struct zone *zone)
batch = 1;
/*
- * We will be trying to allcoate bigger chunks of contiguous
- * memory of the order of fls(batch). This should result in
- * better cache coloring.
+ * Clamp the batch to a 2^n - 1 value. Having a power
+ * of 2 value was found to be more likely to have
+ * suboptimal cache aliasing properties in some cases.
*
- * A sanity check also to ensure that batch is still in limits.
+ * For example if 2 tasks are alternately allocating
+ * batches of pages, one task can end up with a lot
+ * of pages of one half of the possible page colors
+ * and the other with pages of the other colors.
*/
- batch = (1 << fls(batch + batch/2));
-
- if (fls(batch) >= (PAGE_SHIFT + MAX_ORDER - 2))
- batch = PAGE_SHIFT + ((MAX_ORDER - 1 - PAGE_SHIFT)/2);
+ batch = (1 << (fls(batch + batch/2)-1)) - 1;
return batch;
}
OpenPOWER on IntegriCloud