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

[Xen-bugs] [Bug 655] New: physid_set() not always setting bit



http://bugzilla.xensource.com/bugzilla/show_bug.cgi?id=655

           Summary: physid_set() not always setting bit
           Product: Xen
           Version: unstable
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P1
         Component: Hardware Support
        AssignedTo: xen-bugs@xxxxxxxxxxxxxxxxxxx
        ReportedBy: habanero@xxxxxxxxxx
                CC: niv@xxxxxxxxxx


It looks like physid_set() is not setting a bit in a position greater than the
native word size.  This is a problem for physid_mask_of_physid(), when we
populate a "sparse" cpu-mask for phys_cpu_present_map.  For some of our large
systems, we cannot boot more than 16 cpus because the phys_cpu_present_map
needs bits set beyond bit 63 (we have apic IDs greater than 63).  The following
change fixes the problem for us:

--- xen-unstable.hg-9585/xen/include/asm-x86/mpspec.h   2006-04-10
12:49:03.000000000 -0500
+++ xen-unstable.hg-20060407/xen/include/asm-x86/mpspec.h       2006-04-10
11:26:35.000000000 -0500
@@ -71,7 +71,8 @@ typedef struct physid_mask physid_mask_t
 #define physid_mask_of_physid(physid)                                         
\
        ({                                                                     
\
                physid_mask_t __physid_mask = PHYSID_MASK_NONE;                
\
-               physid_set(physid, __physid_mask);                             
\
+               __physid_mask.mask[physid / BITS_PER_LONG] =                   
\
+                       1UL << (physid % BITS_PER_LONG);                       
\
                __physid_mask;                                                 
\
        })


-- 
Configure bugmail: 
http://bugzilla.xensource.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


 


Rackspace

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