xrootd
|
#include <XrdOssMio.hh>
Static Public Member Functions | |
static void | Display (XrdSysError &Eroute) |
static char | isAuto () |
static char | isOn () |
static XrdOssMioFile * | Map (char *path, int fd, int opts) |
static void * | preLoad (void *arg) |
static void | Recycle (XrdOssMioFile *mp) |
static void | Set (int V_off, int V_preld, int V_check) |
static void | Set (long long V_max) |
Static Private Member Functions | |
static int | Reclaim (off_t amount) |
static int | Reclaim (XrdOssMioFile *mp) |
Static Private Attributes | |
static XrdOucHash< XrdOssMioFile > | MM_Hash |
static XrdSysMutex | MM_Mutex |
static XrdOssMioFile * | MM_Perm = 0 |
static XrdOssMioFile * | MM_Idle = 0 |
static XrdOssMioFile * | MM_IdleLast = 0 |
static char | MM_on = 1 |
static char | MM_chk = 0 |
static char | MM_okmlock = 1 |
static char | MM_preld = 0 |
static long long | MM_max = MM_pagsz*MM_pages/2 |
static long long | MM_pagsz = (long long)sysconf(_SC_PAGESIZE) |
static long long | MM_pages = (long long)sysconf(_SC_PHYS_PAGES) |
static long long | MM_inuse = 0 |
void XrdOssMio::Display | ( | XrdSysError & | Eroute | ) | [static] |
static char XrdOssMio::isAuto | ( | ) | [inline, static] |
References MM_chk.
Referenced by XrdOssSys::ConfigMio().
static char XrdOssMio::isOn | ( | ) | [inline, static] |
References MM_on.
Referenced by XrdOssSys::ConfigMio().
XrdOssMioFile * XrdOssMio::Map | ( | char * | path, |
int | fd, | ||
int | opts | ||
) | [static] |
References XrdOucHash< T >::Add(), XrdOucTrace::bin2hex(), DEBUG, XrdSysError::Emsg(), EPNAME, XrdOucHash< T >::Find(), fstat(), XrdSysMutexHelper::Lock(), MM_Hash, MM_inuse, MM_max, MM_Mutex, MM_okmlock, MM_Perm, MM_preld, opts, OSSMIO_MLOK, OSSMIO_MPRM, preLoad(), Reclaim(), XrdSysThread::Run(), and stat().
Referenced by XrdOssFile::Open().
void * XrdOssMio::preLoad | ( | void * | arg | ) | [static] |
References XrdOssMioFile::Base, MM_pagsz, Recycle(), and XrdOssMioFile::Size.
Referenced by Map().
int XrdOssMio::Reclaim | ( | XrdOssMioFile * | mp | ) | [static, private] |
References DEBUG, XrdOssMioFile::Dev, EPNAME, XrdOssMioFile::Ino, MM_Idle, MM_IdleLast, and XrdOssMioFile::Next.
int XrdOssMio::Reclaim | ( | off_t | amount | ) | [static, private] |
References DEBUG, XrdOucHash< T >::Del(), EPNAME, XrdOssMioFile::HashName, MM_Hash, MM_Idle, MM_inuse, XrdOssMioFile::Next, and XrdOssMioFile::Size.
Referenced by Map().
void XrdOssMio::Recycle | ( | XrdOssMioFile * | mp | ) | [static] |
References XrdSysError::Emsg(), XrdOssMioFile::HashName, XrdOssMioFile::inUse, MM_Idle, MM_IdleLast, MM_Mutex, XrdOssMioFile::Next, OSSMIO_MPRM, and XrdOssMioFile::Status.
Referenced by XrdOssFile::Close(), and preLoad().
void XrdOssMio::Set | ( | int | V_off, |
int | V_preld, | ||
int | V_check | ||
) | [static] |
References MM_chk, MM_on, and MM_preld.
Referenced by XrdOssSys::ConfigMio(), and XrdOssSys::xmemf().
char XrdOssMio::MM_chk = 0 [static, private] |
XrdOucHash< XrdOssMioFile > XrdOssMio::MM_Hash [static, private] |
XrdOssMioFile * XrdOssMio::MM_Idle = 0 [static, private] |
XrdOssMioFile * XrdOssMio::MM_IdleLast = 0 [static, private] |
long long XrdOssMio::MM_inuse = 0 [static, private] |
long long XrdOssMio::MM_max = MM_pagsz*MM_pages/2 [static, private] |
XrdSysMutex XrdOssMio::MM_Mutex [static, private] |
char XrdOssMio::MM_okmlock = 1 [static, private] |
Referenced by Map().
char XrdOssMio::MM_on = 1 [static, private] |
long long XrdOssMio::MM_pages = (long long)sysconf(_SC_PHYS_PAGES) [static, private] |
Referenced by Set().
long long XrdOssMio::MM_pagsz = (long long)sysconf(_SC_PAGESIZE) [static, private] |
XrdOssMioFile * XrdOssMio::MM_Perm = 0 [static, private] |
Referenced by Map().
char XrdOssMio::MM_preld = 0 [static, private] |