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

[Xen-changelog] [xen-unstable] VT-d: section adjustments to DMAR parsing code



# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxxxx>
# Date 1299687760 0
# Node ID 58f883dfa7e79ac6b323d1f9919d7e89b0a33547
# Parent  4f8f51c8bc9d497751a91b4b160024e1712ba6b5
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>
---


diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/drivers/passthrough/vtd/dmar.c
--- a/xen/drivers/passthrough/vtd/dmar.c        Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/drivers/passthrough/vtd/dmar.c        Wed Mar 09 16:22:40 2011 +0000
@@ -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 @@
 {
     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;
diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/drivers/passthrough/vtd/dmar.h
--- a/xen/drivers/passthrough/vtd/dmar.h        Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/drivers/passthrough/vtd/dmar.h        Wed Mar 09 16:22:40 2011 +0000
@@ -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;
diff -r 4f8f51c8bc9d -r 58f883dfa7e7 xen/include/xen/list.h
--- a/xen/include/xen/list.h    Wed Mar 09 16:22:16 2011 +0000
+++ b/xen/include/xen/list.h    Wed Mar 09 16:22:40 2011 +0000
@@ -36,6 +36,9 @@
 #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;

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


 


Rackspace

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