Open MPI logo

PLPA Users' Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all PLPA Users mailing list

From: Paul H. Hargrove (PHHargrove_at_[hidden])
Date: 2007-01-29 21:45:12


I've now been able to reproduce David Creasy's bug myself. While my
previous patch fixed an actual bug, it was not David's bug. However,
the attached patch *does* fix David's bug in my own testing.

-Paul

-- 
Paul H. Hargrove                          PHHargrove_at_[hidden]
Future Technologies Group                 
HPC Research Department                   Tel: +1-510-495-2352
Lawrence Berkeley National Laboratory     Fax: +1-510-486-6900

Index: src/libplpa/plpa_bottom.h
===================================================================
--- src/libplpa/plpa_bottom.h (revision 71)
+++ src/libplpa/plpa_bottom.h (working copy)
@@ -69,15 +69,15 @@
 
 /* Public macro to set a bit in a PLPA cpu set */
 #define PLPA_CPU_SET(num, cpuset) \
- (cpuset)->bitmask[PLPA_CPU_BYTE(num)] |= (1 << PLPA_CPU_BIT(num))
+ (cpuset)->bitmask[PLPA_CPU_BYTE(num)] |= ((PLPA_NAME(bitmask_t))1 << PLPA_CPU_BIT(num))
 
 /* Public macro to clear a bit in a PLPA cpu set */
 #define PLPA_CPU_CLR(num, cpuset) \
- (cpuset)->bitmask[PLPA_CPU_BYTE(num)] &= ~(1 << PLPA_CPU_BIT(num))
+ (cpuset)->bitmask[PLPA_CPU_BYTE(num)] &= ~((PLPA_NAME(bitmask_t))1 << PLPA_CPU_BIT(num))
 
 /* Public macro to test if a bit is set in a PLPA cpu set */
 #define PLPA_CPU_ISSET(num, cpuset) \
- (0 != ((cpuset)->bitmask[PLPA_CPU_BYTE(num)] & (1 << PLPA_CPU_BIT(num))))
+ (0 != ((cpuset)->bitmask[PLPA_CPU_BYTE(num)] & ((PLPA_NAME(bitmask_t))1 << PLPA_CPU_BIT(num))))
 
 /***************************************************************************/