| /* |
| * |
| * Copyright (c) 2012 Nest Labs, Inc. |
| * All rights reserved. |
| * |
| * This document is the property of Nest. It is considered |
| * confidential and proprietary information. |
| * |
| * This document may not be reproduced or transmitted in any form, |
| * in whole or in part, without the express written permission of |
| * Nest. |
| * |
| * Description: |
| * This file defines processor-architecture-specific constants, |
| * interfaces and types required for LwIP performance |
| * measurement. |
| * |
| */ |
| |
| #ifndef NL_LWIP_FREERTOS_ARCH_PERF_H |
| #define NL_LWIP_FREERTOS_ARCH_PERF_H |
| |
| #define PERF_START |
| #define PERF_STOP(s) |
| |
| #if defined(BUILD_FEATURE_NL_PROFILE) |
| |
| // Record the pbuf high watermark for this interval |
| void nl_profile_interval_set_pbuf_highwatermark(uint32_t pbuf_count, uint32_t pool_idx); |
| #define sys_profile_interval_set_pbuf_highwatermark(x,y) nl_profile_interval_set_pbuf_highwatermark(x,y) |
| struct pbuf; |
| void nl_profile_product_pbuf_allocate(const struct pbuf *pbuf); |
| void nl_profile_product_pbuf_free(const struct pbuf *pbuf); |
| #define sys_profile_pbuf_allocate(pbuf) nl_profile_product_pbuf_allocate(pbuf) |
| #define sys_profile_pbuf_free(pbuf) nl_profile_product_pbuf_free(pbuf) |
| void nl_profile_product_pbuf_transfer(const struct pbuf *new_pbuf, const struct pbuf *old_pbuf); |
| #define sys_profile_pbuf_transfer(x, y) nl_profile_product_pbuf_transfer(x, y) |
| |
| #else /* defined(BUILD_FEATURE_NL_PROFILE) */ |
| |
| #define sys_profile_interval_set_pbuf_highwatermark(x,y) |
| #define sys_profile_pbuf_allocate(pbuf) |
| #define sys_profile_pbuf_free(pbuf) |
| #define sys_profile_pbuf_transfer(x, y) |
| |
| #endif /* defined(BUILD_FEATURE_NL_PROFILE) */ |
| |
| #endif /* NL_LWIP_FREERTOS_ARCH_PERF_H */ |