Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: x86: Clear TS in irq_ts_save() when in an atomic section x86: Detect use of extended APIC ID for AMD CPUs x86: memtest: remove 64-bit division x86, UV: Fix macros for multiple coherency domains x86: Fix non-lazy GS handling in sys_vm86() x86: Add quirk for reboot stalls on a Dell Optiplex 360 x86: Fix UV BAU activation descriptor init
This commit is contained in:
@ -715,7 +715,12 @@ uv_activation_descriptor_init(int node, int pnode)
|
||||
struct bau_desc *adp;
|
||||
struct bau_desc *ad2;
|
||||
|
||||
adp = (struct bau_desc *)kmalloc_node(16384, GFP_KERNEL, node);
|
||||
/*
|
||||
* each bau_desc is 64 bytes; there are 8 (UV_ITEMS_PER_DESCRIPTOR)
|
||||
* per cpu; and up to 32 (UV_ADP_SIZE) cpu's per blade
|
||||
*/
|
||||
adp = (struct bau_desc *)kmalloc_node(sizeof(struct bau_desc)*
|
||||
UV_ADP_SIZE*UV_ITEMS_PER_DESCRIPTOR, GFP_KERNEL, node);
|
||||
BUG_ON(!adp);
|
||||
|
||||
pa = uv_gpa(adp); /* need the real nasid*/
|
||||
@ -729,7 +734,13 @@ uv_activation_descriptor_init(int node, int pnode)
|
||||
(n << UV_DESC_BASE_PNODE_SHIFT | m));
|
||||
}
|
||||
|
||||
for (i = 0, ad2 = adp; i < UV_ACTIVATION_DESCRIPTOR_SIZE; i++, ad2++) {
|
||||
/*
|
||||
* initializing all 8 (UV_ITEMS_PER_DESCRIPTOR) descriptors for each
|
||||
* cpu even though we only use the first one; one descriptor can
|
||||
* describe a broadcast to 256 nodes.
|
||||
*/
|
||||
for (i = 0, ad2 = adp; i < (UV_ADP_SIZE*UV_ITEMS_PER_DESCRIPTOR);
|
||||
i++, ad2++) {
|
||||
memset(ad2, 0, sizeof(struct bau_desc));
|
||||
ad2->header.sw_ack_flag = 1;
|
||||
/*
|
||||
|
Reference in New Issue
Block a user