MySQL 8.3.0
Source Code Documentation
page_alloc.h File Reference

Implementation bits and pieces for page-aligned allocations. More...

#include <sys/mman.h>
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstdlib>
#include <memory>
#include <utility>
#include "my_compiler.h"
#include "my_config.h"
#include "mysqld_error.h"
#include "storage/innobase/include/detail/ut/allocator_traits.h"
#include "storage/innobase/include/detail/ut/helper.h"
#include "storage/innobase/include/detail/ut/page_metadata.h"
#include "storage/innobase/include/detail/ut/pfs.h"
#include "storage/innobase/include/ut0log.h"

Go to the source code of this file.

Classes

struct  ut::detail::Page_alloc
 Allocation routines which are purposed for allocating system page-aligned memory. More...
 
struct  ut::detail::Page_alloc_pfs
 Allocation routines which are purposed for allocating system page-aligned memory. More...
 
struct  ut::detail::select_page_alloc_impl< Pfs_memory_instrumentation_on >
 Simple utility meta-function which selects appropriate allocator variant (implementation) depending on the input parameter(s). More...
 
struct  ut::detail::select_page_alloc_impl< true >
 
struct  ut::detail::Page_alloc_< Impl >
 Small wrapper which utilizes SFINAE to dispatch the call to appropriate aligned allocator implementation. More...
 

Namespaces

namespace  ut
 This file contains a set of libraries providing overloads for regular dynamic allocation routines which allow for opt-in memory instrumentation through performance schema memory engine (PFS).
 
namespace  ut::detail
 

Typedefs

template<bool Pfs_memory_instrumentation_on>
using ut::detail::select_page_alloc_impl_t = typename select_page_alloc_impl< Pfs_memory_instrumentation_on >::type
 Just a small helper type which saves us some keystrokes. More...
 

Functions

void * ut::detail::page_aligned_alloc (size_t n_bytes)
 Allocates system page-aligned memory. More...
 
bool ut::detail::page_aligned_free (void *ptr, size_t n_bytes)
 Releases system page-aligned storage. More...
 

Detailed Description

Implementation bits and pieces for page-aligned allocations.