#include "squid.h"
#include "base/PackableStream.h"
#include "ClientInfo.h"
#include "dlink.h"
#include "event.h"
#include "fs_io.h"
#include "icmp/net_db.h"
#include "md5.h"
#include "mem/forward.h"
#include "mem/Meter.h"
#include "mem/Pool.h"
#include "MemBuf.h"
#include "mgr/Registration.h"
#include "SquidConfig.h"
#include "SquidTime.h"
#include "Store.h"
#include <iomanip>

Go to the source code of this file.
Classes | |
struct | PoolMeta |
Macros | |
#define | mem_str_pool_count 6 |
Functions | |
static void | memFree2K (void *) |
static void | memFree4K (void *) |
static void | memFree8K (void *) |
static void | memFree16K (void *) |
static void | memFree32K (void *) |
static void | memFree64K (void *) |
static void | memStringStats (std::ostream &) |
static MemAllocator *& | GetPool (size_t type) |
static MemAllocator & | GetStrPool (size_t type) |
static MemAllocator * | memFindStringPool (size_t net_size, bool fuzzy) |
static void | memBufStats (std::ostream &stream) |
void | memDataInit (mem_type type, const char *name, size_t size, int, bool doZero) |
void * | memAllocate (mem_type type) |
Allocate one element from the typed pool. More... | |
void | memFree (void *p, int type) |
Free a element allocated by memAllocate() More... | |
void * | memAllocString (size_t net_size, size_t *gross_size) |
void * | memAllocRigid (size_t net_size) |
size_t | memStringCount () |
void | memFreeString (size_t size, void *buf) |
void | memFreeRigid (void *buf, size_t net_size) |
static mem_type | memFindBufSizeType (size_t net_size, size_t *gross_size) |
void * | memAllocBuf (size_t net_size, size_t *gross_size) |
void * | memReallocBuf (void *oldbuf, size_t net_size, size_t *gross_size) |
void | memFreeBuf (size_t size, void *buf) |
void | memConfigure (void) |
mem_type & | operator++ (mem_type &aMem) |
void | memCheckInit (void) |
void | memClean (void) |
Main cleanup handler. More... | |
int | memInUse (mem_type type) |
static void | cxx_xfree (void *ptr) |
FREE * | memFreeBufFunc (size_t size) |
static int | MemPoolReportSorter (const void *a, const void *b) |
Variables | |
static double | xm_time = 0 |
static double | xm_deltat = 0 |
static Mem::Meter | StrCountMeter |
static Mem::Meter | StrVolumeMeter |
static Mem::Meter | HugeBufCountMeter |
static Mem::Meter | HugeBufVolumeMeter |
static double | clean_interval = 15.0 |
Macro Definition Documentation
◆ mem_str_pool_count
#define mem_str_pool_count 6 |
Definition at line 46 of file old_api.cc.
Function Documentation
◆ cxx_xfree()
|
static |
◆ GetPool()
|
static |
Definition at line 64 of file old_api.cc.
References MEM_MAX.
Referenced by Mem::Init(), memAllocate(), memCheckInit(), memDataInit(), memFree(), and memInUse().
◆ GetStrPool()
|
static |
Lastly init the string pools.
Definition at line 81 of file old_api.cc.
References DBG_IMPORTANT, debugs, mem_str_pool_count, memPoolCreate, MemAllocator::RoundedSize(), type, and MemAllocator::zeroBlocks().
Referenced by memFindStringPool(), memStringCount(), and memStringStats().
◆ memAllocate()
void* memAllocate | ( | mem_type | type | ) |
Definition at line 214 of file old_api.cc.
References MemAllocator::alloc(), assert, GetPool(), and type.
Referenced by GopherStateData::GopherStateData(), diskCombineWrites(), file_read(), file_write(), memAllocBuf(), netdbBinaryExchange(), Ftp::Gateway::parseListing(), and storeKeyDup().
◆ memAllocBuf()
Definition at line 345 of file old_api.cc.
References HugeBufCountMeter, HugeBufVolumeMeter, MEM_NONE, memAllocate(), memFindBufSizeType(), type, and xcalloc().
Referenced by memReallocBuf().
◆ memAllocRigid()
void* memAllocRigid | ( | size_t | net_size | ) |
Definition at line 249 of file old_api.cc.
References memFindStringPool(), StrCountMeter, StrVolumeMeter, and xmalloc.
◆ memAllocString()
Definition at line 230 of file old_api.cc.
References assert, memFindStringPool(), StrCountMeter, StrVolumeMeter, and xcalloc().
◆ memBufStats()
|
static |
Definition at line 158 of file old_api.cc.
References Mem::Meter::currentLevel(), HugeBufCountMeter, and HugeBufVolumeMeter.
Referenced by Mem::Stats().
◆ memCheckInit()
void memCheckInit | ( | void | ) |
Definition at line 498 of file old_api.cc.
References assert, GetPool(), MEM_MAX, and MEM_NONE.
Referenced by mainInitialize().
◆ memClean()
void memClean | ( | void | ) |
Definition at line 512 of file old_api.cc.
References MemPools::clean(), Config, debugs, MemPools::GetInstance(), SquidConfig::limit, memPoolGetGlobalStats(), SquidConfig::MemPools, MemPools::setIdleLimit(), and Ping::stats.
Referenced by SquidShutdown().
◆ memConfigure()
void memConfigure | ( | void | ) |
Set to configured value first
Definition at line 407 of file old_api.cc.
References Config, DBG_IMPORTANT, debugs, MemPools::GetInstance(), SquidConfig::limit, SquidConfig::mem_pools, SquidConfig::MemPools, SquidConfig::onoff, MemPools::setIdleLimit(), and toMB.
Referenced by configDoConfigure().
◆ memDataInit()
Definition at line 201 of file old_api.cc.
References assert, GetPool(), memPoolCreate, NULL, size, type, and MemAllocator::zeroBlocks().
Referenced by Mem::Init().
◆ memFindBufSizeType()
Definition at line 309 of file old_api.cc.
References MEM_16K_BUF, MEM_2K_BUF, MEM_32K_BUF, MEM_4K_BUF, MEM_64K_BUF, MEM_8K_BUF, MEM_NONE, size, and type.
Referenced by memAllocBuf(), and memFreeBuf().
◆ memFindStringPool()
|
static |
- Returns
- the best-fit string pool or nil
Definition at line 118 of file old_api.cc.
References GetStrPool(), and mem_str_pool_count.
Referenced by memAllocRigid(), memAllocString(), memFreeRigid(), and memFreeString().
◆ memFree()
void memFree | ( | void * | p, |
int | type | ||
) |
Definition at line 222 of file old_api.cc.
References assert, MemAllocator::freeOne(), GetPool(), and type.
Referenced by memFree16K(), memFree2K(), memFree32K(), memFree4K(), memFree64K(), memFree8K(), and memFreeBuf().
◆ memFree16K()
|
static |
Definition at line 553 of file old_api.cc.
References MEM_16K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFree2K()
|
static |
Definition at line 535 of file old_api.cc.
References MEM_2K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFree32K()
|
static |
Definition at line 559 of file old_api.cc.
References MEM_32K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFree4K()
|
static |
Definition at line 541 of file old_api.cc.
References MEM_4K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFree64K()
|
static |
Definition at line 565 of file old_api.cc.
References MEM_64K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFree8K()
|
static |
Definition at line 547 of file old_api.cc.
References MEM_8K_BUF, and memFree().
Referenced by memFreeBufFunc().
◆ memFreeBuf()
void memFreeBuf | ( | size_t | size, |
void * | buf | ||
) |
Definition at line 384 of file old_api.cc.
References buf, HugeBufCountMeter, HugeBufVolumeMeter, MEM_NONE, memFindBufSizeType(), memFree(), NULL, size, type, and xfree.
Referenced by memReallocBuf().
◆ memFreeBufFunc()
Definition at line 577 of file old_api.cc.
References cxx_xfree(), HugeBufCountMeter, HugeBufVolumeMeter, memFree16K(), memFree2K(), memFree32K(), memFree4K(), memFree64K(), memFree8K(), and size.
◆ memFreeRigid()
void memFreeRigid | ( | void * | buf, |
size_t | net_size | ||
) |
Definition at line 291 of file old_api.cc.
References buf, memFindStringPool(), StrCountMeter, StrVolumeMeter, and xfree.
◆ memFreeString()
void memFreeString | ( | size_t | size, |
void * | buf | ||
) |
Definition at line 277 of file old_api.cc.
References assert, buf, memFindStringPool(), size, StrCountMeter, StrVolumeMeter, and xfree.
◆ memInUse()
Definition at line 527 of file old_api.cc.
References GetPool(), MemAllocator::inUseCount(), and type.
◆ MemPoolReportSorter()
|
static |
◆ memReallocBuf()
Definition at line 360 of file old_api.cc.
References memAllocBuf(), and memFreeBuf().
◆ memStringCount()
size_t memStringCount | ( | ) |
Definition at line 265 of file old_api.cc.
References GetStrPool(), MemAllocator::inUseCount(), and mem_str_pool_count.
◆ memStringStats()
|
static |
Definition at line 131 of file old_api.cc.
References Mem::Meter::currentLevel(), GetStrPool(), mem_str_pool_count, StrCountMeter, StrVolumeMeter, and xpercentInt().
Referenced by Mem::Stats().
◆ operator++()
Definition at line 487 of file old_api.cc.
References int.
Variable Documentation
◆ clean_interval
|
static |
Definition at line 397 of file old_api.cc.
Referenced by Mem::CleanIdlePools().
◆ HugeBufCountMeter
|
static |
Definition at line 56 of file old_api.cc.
Referenced by memAllocBuf(), memBufStats(), memFreeBuf(), and memFreeBufFunc().
◆ HugeBufVolumeMeter
|
static |
Definition at line 57 of file old_api.cc.
Referenced by memAllocBuf(), memBufStats(), memFreeBuf(), and memFreeBufFunc().
◆ StrCountMeter
|
static |
Definition at line 53 of file old_api.cc.
Referenced by memAllocRigid(), memAllocString(), memFreeRigid(), memFreeString(), and memStringStats().
◆ StrVolumeMeter
|
static |
Definition at line 54 of file old_api.cc.
Referenced by memAllocRigid(), memAllocString(), memFreeRigid(), memFreeString(), and memStringStats().
◆ xm_deltat
|
static |
Definition at line 43 of file old_api.cc.
Referenced by DumpMallocStatistics(), Mem::PoolReport(), and Mem::Report().
◆ xm_time
|
static |
Definition at line 42 of file old_api.cc.
Referenced by DumpMallocStatistics(), and Mem::Report().