utcache.c (38fd2c202a3d82bc12430bce5789fa2c2a406f71) utcache.c (5076f00504c62489b63197392856b9bad1ebcbd5)
1/******************************************************************************
2 *
3 * Module Name: utcache - local cache allocation routines
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2013, Intel Corp.

--- 234 unchanged lines hidden (view full) ---

243void *acpi_os_acquire_object(struct acpi_memory_list *cache)
244{
245 acpi_status status;
246 void *object;
247
248 ACPI_FUNCTION_NAME(os_acquire_object);
249
250 if (!cache) {
1/******************************************************************************
2 *
3 * Module Name: utcache - local cache allocation routines
4 *
5 *****************************************************************************/
6
7/*
8 * Copyright (C) 2000 - 2013, Intel Corp.

--- 234 unchanged lines hidden (view full) ---

243void *acpi_os_acquire_object(struct acpi_memory_list *cache)
244{
245 acpi_status status;
246 void *object;
247
248 ACPI_FUNCTION_NAME(os_acquire_object);
249
250 if (!cache) {
251 return (NULL);
251 return_PTR(NULL);
252 }
253
254 status = acpi_ut_acquire_mutex(ACPI_MTX_CACHES);
255 if (ACPI_FAILURE(status)) {
252 }
253
254 status = acpi_ut_acquire_mutex(ACPI_MTX_CACHES);
255 if (ACPI_FAILURE(status)) {
256 return (NULL);
256 return_PTR(NULL);
257 }
258
259 ACPI_MEM_TRACKING(cache->requests++);
260
261 /* Check the cache first */
262
263 if (cache->list_head) {
264

--- 6 unchanged lines hidden (view full) ---

271
272 ACPI_MEM_TRACKING(cache->hits++);
273 ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
274 "Object %p from %s cache\n", object,
275 cache->list_name));
276
277 status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
278 if (ACPI_FAILURE(status)) {
257 }
258
259 ACPI_MEM_TRACKING(cache->requests++);
260
261 /* Check the cache first */
262
263 if (cache->list_head) {
264

--- 6 unchanged lines hidden (view full) ---

271
272 ACPI_MEM_TRACKING(cache->hits++);
273 ACPI_DEBUG_PRINT((ACPI_DB_EXEC,
274 "Object %p from %s cache\n", object,
275 cache->list_name));
276
277 status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
278 if (ACPI_FAILURE(status)) {
279 return (NULL);
279 return_PTR(NULL);
280 }
281
282 /* Clear (zero) the previously used Object */
283
284 ACPI_MEMSET(object, 0, cache->object_size);
285 } else {
286 /* The cache is empty, create a new object */
287

--- 6 unchanged lines hidden (view full) ---

294 cache->total_allocated - cache->total_freed;
295 }
296#endif
297
298 /* Avoid deadlock with ACPI_ALLOCATE_ZEROED */
299
300 status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
301 if (ACPI_FAILURE(status)) {
280 }
281
282 /* Clear (zero) the previously used Object */
283
284 ACPI_MEMSET(object, 0, cache->object_size);
285 } else {
286 /* The cache is empty, create a new object */
287

--- 6 unchanged lines hidden (view full) ---

294 cache->total_allocated - cache->total_freed;
295 }
296#endif
297
298 /* Avoid deadlock with ACPI_ALLOCATE_ZEROED */
299
300 status = acpi_ut_release_mutex(ACPI_MTX_CACHES);
301 if (ACPI_FAILURE(status)) {
302 return (NULL);
302 return_PTR(NULL);
303 }
304
305 object = ACPI_ALLOCATE_ZEROED(cache->object_size);
306 if (!object) {
303 }
304
305 object = ACPI_ALLOCATE_ZEROED(cache->object_size);
306 if (!object) {
307 return (NULL);
307 return_PTR(NULL);
308 }
309 }
310
308 }
309 }
310
311 return (object);
311 return_PTR(object);
312}
313#endif /* ACPI_USE_LOCAL_CACHE */
312}
313#endif /* ACPI_USE_LOCAL_CACHE */