ACPICA: Enhance debugger statistics/memory command.
Debugger: Enhanced the Statistics/Memory command to emit the total (maximum) memory used during execution, as well as the maximum memory consumed by each of the various object types. Signed-off-by: Alexey Starikovskiy <alexey.y.starikovskiy@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
This commit is contained in:
committed by
Len Brown
parent
ea54157851
commit
afbb9e659d
@@ -61,6 +61,9 @@ ACPI_MODULE_NAME("nsalloc")
|
|||||||
struct acpi_namespace_node *acpi_ns_create_node(u32 name)
|
struct acpi_namespace_node *acpi_ns_create_node(u32 name)
|
||||||
{
|
{
|
||||||
struct acpi_namespace_node *node;
|
struct acpi_namespace_node *node;
|
||||||
|
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
|
||||||
|
u32 temp;
|
||||||
|
#endif
|
||||||
|
|
||||||
ACPI_FUNCTION_TRACE(ns_create_node);
|
ACPI_FUNCTION_TRACE(ns_create_node);
|
||||||
|
|
||||||
@@ -71,6 +74,15 @@ struct acpi_namespace_node *acpi_ns_create_node(u32 name)
|
|||||||
|
|
||||||
ACPI_MEM_TRACKING(acpi_gbl_ns_node_list->total_allocated++);
|
ACPI_MEM_TRACKING(acpi_gbl_ns_node_list->total_allocated++);
|
||||||
|
|
||||||
|
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
|
||||||
|
temp =
|
||||||
|
acpi_gbl_ns_node_list->total_allocated -
|
||||||
|
acpi_gbl_ns_node_list->total_freed;
|
||||||
|
if (temp > acpi_gbl_ns_node_list->max_occupied) {
|
||||||
|
acpi_gbl_ns_node_list->max_occupied = temp;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
node->name.integer = name;
|
node->name.integer = name;
|
||||||
ACPI_SET_DESCRIPTOR_TYPE(node, ACPI_DESC_TYPE_NAMED);
|
ACPI_SET_DESCRIPTOR_TYPE(node, ACPI_DESC_TYPE_NAMED);
|
||||||
return_PTR(node);
|
return_PTR(node);
|
||||||
|
@@ -289,6 +289,14 @@ void *acpi_os_acquire_object(struct acpi_memory_list *cache)
|
|||||||
|
|
||||||
ACPI_MEM_TRACKING(cache->total_allocated++);
|
ACPI_MEM_TRACKING(cache->total_allocated++);
|
||||||
|
|
||||||
|
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
|
||||||
|
if ((cache->total_allocated - cache->total_freed) >
|
||||||
|
cache->max_occupied) {
|
||||||
|
cache->max_occupied =
|
||||||
|
cache->total_allocated - cache->total_freed;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Avoid deadlock with ACPI_ALLOCATE_ZEROED */
|
/* Avoid deadlock with ACPI_ALLOCATE_ZEROED */
|
||||||
|
|
||||||
status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
|
status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
|
||||||
|
@@ -159,6 +159,10 @@ void
|
|||||||
acpi_db_create_execution_threads(char *num_threads_arg,
|
acpi_db_create_execution_threads(char *num_threads_arg,
|
||||||
char *num_loops_arg, char *method_name_arg);
|
char *num_loops_arg, char *method_name_arg);
|
||||||
|
|
||||||
|
#ifdef ACPI_DBG_TRACK_ALLOCATIONS
|
||||||
|
u32 acpi_db_get_cache_info(struct acpi_memory_list *cache);
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* dbfileio - Debugger file I/O commands
|
* dbfileio - Debugger file I/O commands
|
||||||
*/
|
*/
|
||||||
|
@@ -954,6 +954,8 @@ struct acpi_memory_list {
|
|||||||
|
|
||||||
u32 total_allocated;
|
u32 total_allocated;
|
||||||
u32 total_freed;
|
u32 total_freed;
|
||||||
|
u32 max_occupied;
|
||||||
|
u32 total_size;
|
||||||
u32 current_total_size;
|
u32 current_total_size;
|
||||||
u32 requests;
|
u32 requests;
|
||||||
u32 hits;
|
u32 hits;
|
||||||
|
Reference in New Issue
Block a user