c7c3de87f5
http://marc.info/?l=linux-mm-commits&m=127352503417787&w=2 for more details. * Remove the ptmalloc memory component; replace it with a new "linux" memory component. * The linux memory component will conditionally compile in support for ummunotify. At run-time, if it has ummunotify support and finds run-time support for ummunotify (i.e., /dev/ummunotify), it uses it. If not, it tries to use ptmalloc via the glibc memory hooks. * Add some more API functions to the memory framework to accomodate the ummunotify model (i.e., poll to see if memory has "changed"). * Add appropriate calls in the rcache to the new memory APIs to see if memory has changed, and to react accordingly. * Add a few comments in the openib BTL to indicate why we don't need to notify the OPAL memory framework about specific instances of registered memory. * Add dummy API calls in the solaris malloc component (since it doesn't have polling/"did memory change" support). This commit was SVN r23113.
57 строки
1.8 KiB
C
57 строки
1.8 KiB
C
/*
|
|
* Copyright (c) 2009 Cisco Systems, Inc. All rights reserved.
|
|
* $COPYRIGHT$
|
|
*
|
|
* Additional copyrights may follow
|
|
*
|
|
* $HEADER$
|
|
*/
|
|
|
|
#ifndef OPAL_MCA_MEMCPY_BASE_MEMORY_BASE_DEFAULT_H
|
|
#define OPAL_MCA_MEMCPY_BASE_MEMORY_BASE_DEFAULT_H
|
|
|
|
#include "opal_config.h"
|
|
|
|
/**
|
|
* Provided for memory components that don't provide an asynchronous
|
|
* method for determining if memory mappings have changed. If a
|
|
* component only has a synchronous / interactive method of checking,
|
|
* then it can override this macro with some logic to do a (hopefully)
|
|
* cheap check to see if memory mappings have changed. The intent is
|
|
* that if this cheap check returns true, the upper layer will then
|
|
* invoke the memoryc_process() function to actually process what
|
|
* changed. This function will be invoked by the upper layer with the
|
|
* syntax:
|
|
*
|
|
* if (opal_memory_changed()) { ... }
|
|
*
|
|
* Hence, if you need any kind of sophisticated logic, you might want
|
|
* to put it in an inline function and have the #define call the
|
|
* inline function.
|
|
*/
|
|
#define opal_memory_changed() 0
|
|
|
|
BEGIN_C_DECLS
|
|
|
|
/**
|
|
* Default (empty) implementation of the memoryc_register function.
|
|
*
|
|
* See opal/mca/memory/memory.h for a description of the parameters.
|
|
*/
|
|
OPAL_DECLSPEC int opal_memory_base_component_register_empty(void *start,
|
|
size_t len,
|
|
uint64_t cookie);
|
|
|
|
/**
|
|
* Default (empty) implementation of the memoryc_deregister function
|
|
*
|
|
* See opal/mca/memory/memory.h for a description of the parameters.
|
|
*/
|
|
OPAL_DECLSPEC int opal_memory_base_component_deregister_empty(void *start,
|
|
size_t len,
|
|
uint64_t cookie);
|
|
|
|
END_C_DECLS
|
|
|
|
#endif
|