[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 03/11] VT-d: section adjustments to DMAR parsing code



Move whatever possible into .init.*, and some data items into
.data.read_mostly.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

--- 2011-01-17.orig/xen/drivers/passthrough/vtd/dmar.c
+++ 2011-01-17/xen/drivers/passthrough/vtd/dmar.c
@@ -41,13 +41,12 @@
 #define MIN_SCOPE_LEN (sizeof(struct acpi_pci_path) + \
                        sizeof(struct acpi_dev_scope))
 
-LIST_HEAD(acpi_drhd_units);
-LIST_HEAD(acpi_rmrr_units);
-LIST_HEAD(acpi_atsr_units);
-LIST_HEAD(acpi_rhsa_units);
+LIST_HEAD_READ_MOSTLY(acpi_drhd_units);
+LIST_HEAD_READ_MOSTLY(acpi_rmrr_units);
+static LIST_HEAD_READ_MOSTLY(acpi_atsr_units);
+static LIST_HEAD_READ_MOSTLY(acpi_rhsa_units);
 
-static u64 igd_drhd_address;
-u8 dmar_host_address_width;
+static u64 __read_mostly igd_drhd_address;
 
 void dmar_scope_add_buses(struct dmar_scope *scope, u16 sec_bus, u16 sub_bus)
 {
@@ -679,6 +678,7 @@ static int __init acpi_parse_dmar(struct
 {
     struct acpi_table_dmar *dmar;
     struct acpi_dmar_entry_header *entry_header;
+    u8 dmar_host_address_width;
     int ret = 0;
 
     dmar = (struct acpi_table_dmar *)table;
--- 2011-01-17.orig/xen/drivers/passthrough/vtd/dmar.h
+++ 2011-01-17/xen/drivers/passthrough/vtd/dmar.h
@@ -24,8 +24,6 @@
 #include <xen/list.h>
 #include <xen/iommu.h>
 
-extern u8 dmar_host_address_width;
-
 /* This one is for interrupt remapping */
 struct acpi_ioapic_unit {
     struct list_head list;
--- 2011-01-17.orig/xen/include/xen/list.h
+++ 2011-01-17/xen/include/xen/list.h
@@ -36,6 +36,9 @@ struct list_head {
 #define LIST_HEAD(name) \
     struct list_head name = LIST_HEAD_INIT(name)
 
+#define LIST_HEAD_READ_MOSTLY(name) \
+    struct list_head __read_mostly name = LIST_HEAD_INIT(name)
+
 static inline void INIT_LIST_HEAD(struct list_head *list)
 {
     list->next = list;



Attachment: vtd-dmar-sections.patch
Description: Text document

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.