Blame src/linux-bgq-memory.c

Packit Service a1973e
/* 
Packit Service a1973e
 * File:    linux-bgq-memory.c
Packit Service a1973e
 * CVS:     $Id$
Packit Service a1973e
 * Author:  Heike Jagode
Packit Service a1973e
 *          jagode@eecs.utk.edu
Packit Service a1973e
 * Mods:    
Packit Service a1973e
 *          
Packit Service a1973e
 */
Packit Service a1973e
Packit Service a1973e
Packit Service a1973e
Packit Service a1973e
#include "papi.h"
Packit Service a1973e
#include "papi_internal.h"
Packit Service a1973e
#include "linux-bgq.h"
Packit Service a1973e
#ifdef __LINUX__
Packit Service a1973e
#include <limits.h>
Packit Service a1973e
#endif
Packit Service a1973e
#include <stdio.h>
Packit Service a1973e
Packit Service a1973e
/*
Packit Service a1973e
 * Prototypes...
Packit Service a1973e
 */
Packit Service a1973e
int init_bgq( PAPI_mh_info_t * pMem_Info );
Packit Service a1973e
Packit Service a1973e
// inline void cpuid(unsigned int *, unsigned int *,unsigned int *,unsigned int *);
Packit Service a1973e
Packit Service a1973e
/*
Packit Service a1973e
 * Get Memory Information
Packit Service a1973e
 *
Packit Service a1973e
 * Fills in memory information - effectively set to all 0x00's
Packit Service a1973e
 */
Packit Service a1973e
extern int
Packit Service a1973e
_bgq_get_memory_info( PAPI_hw_info_t * pHwInfo, int pCPU_Type )
Packit Service a1973e
{
Packit Service a1973e
	int retval = 0;
Packit Service a1973e
Packit Service a1973e
	switch ( pCPU_Type ) {
Packit Service a1973e
	default:
Packit Service a1973e
		//fprintf(stderr,"Default CPU type in %s (%d)\n",__FUNCTION__,__LINE__);
Packit Service a1973e
		retval = init_bgq( &pHwInfo->mem_hierarchy );
Packit Service a1973e
		break;
Packit Service a1973e
	}
Packit Service a1973e
Packit Service a1973e
	return retval;
Packit Service a1973e
}
Packit Service a1973e
Packit Service a1973e
/*
Packit Service a1973e
 * Get DMem Information for BG/Q
Packit Service a1973e
 *
Packit Service a1973e
 * NOTE:  Currently, all values set to -1
Packit Service a1973e
 */
Packit Service a1973e
extern int
Packit Service a1973e
_bgq_get_dmem_info( PAPI_dmem_info_t * pDmemInfo )
Packit Service a1973e
{
Packit Service a1973e
//  pid_t xPID = getpid();
Packit Service a1973e
//  prpsinfo_t xInfo;
Packit Service a1973e
//  char xFile[256];
Packit Service a1973e
//  int xFD;
Packit Service a1973e
Packit Service a1973e
//  sprintf(xFile, "/proc/%05d", xPID);
Packit Service a1973e
//  if ((fd = open(xFile, O_RDONLY)) < 0) {
Packit Service a1973e
//     SUBDBG("PAPI_get_dmem_info can't open /proc/%d\n", xPID);
Packit Service a1973e
//     return (PAPI_ESYS);
Packit Service a1973e
//  }
Packit Service a1973e
//  if (ioctl(xFD, PIOCPSINFO, &xInfo) < 0) {
Packit Service a1973e
//     return (PAPI_ESYS);
Packit Service a1973e
//  }
Packit Service a1973e
//  close(xFD);
Packit Service a1973e
Packit Service a1973e
	pDmemInfo->size = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->resident = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->high_water_mark = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->shared = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->text = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->library = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->heap = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->locked = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->stack = PAPI_EINVAL;
Packit Service a1973e
	pDmemInfo->pagesize = PAPI_EINVAL;
Packit Service a1973e
Packit Service a1973e
	return PAPI_OK;
Packit Service a1973e
}
Packit Service a1973e
Packit Service a1973e
/*
Packit Service a1973e
 * Cache configuration for BG/Q
Packit Service a1973e
 */
Packit Service a1973e
int
Packit Service a1973e
init_bgq( PAPI_mh_info_t * pMem_Info )
Packit Service a1973e
{
Packit Service a1973e
	memset( pMem_Info, 0x0, sizeof ( *pMem_Info ) );
Packit Service a1973e
	//fprintf(stderr,"mem_info not est up [%s (%d)]\n",__FUNCTION__,__LINE__);
Packit Service a1973e
Packit Service a1973e
	return PAPI_OK;
Packit Service a1973e
}