| /*SH0 |
| ******************************************************************************* |
| ** ** |
| ** Copyright (c) 2013 Quantenna Communications Inc ** |
| ** All Rights Reserved ** |
| ** ** |
| ** Date : 2013-02-19 ** |
| ** ** |
| ******************************************************************************* |
| ** ** |
| ** Redistribution and use in source and binary forms, with or without ** |
| ** modification, are permitted provided that the following conditions ** |
| ** are met: ** |
| ** 1. Redistributions of source code must retain the above copyright ** |
| ** notice, this list of conditions and the following disclaimer. ** |
| ** 2. Redistributions in binary form must reproduce the above copyright ** |
| ** notice, this list of conditions and the following disclaimer in the ** |
| ** documentation and/or other materials provided with the distribution. ** |
| ** 3. The name of the author may not be used to endorse or promote products ** |
| ** derived from this software without specific prior written permission. ** |
| ** ** |
| ** Alternatively, this software may be distributed under the terms of the ** |
| ** GNU General Public License ("GPL") version 2, or (at your option) any ** |
| ** later version as published by the Free Software Foundation. ** |
| ** ** |
| ** In the case this software is distributed under the GPL license, ** |
| ** you should have received a copy of the GNU General Public License ** |
| ** along with this software; if not, write to the Free Software ** |
| ** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ** |
| ** ** |
| ** THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR ** |
| ** IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES** |
| ** OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. ** |
| ** IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, ** |
| ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT ** |
| ** NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,** |
| ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY ** |
| ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT ** |
| ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF ** |
| ** THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ** |
| ** ** |
| ******************************************************************************* |
| EH0*/ |
| |
| #ifndef _QDRV_SLAB_WATCH_H |
| #define _QDRV_SLAB_WATCH_H |
| |
| /** |
| * For each field we want to monitor, add another line into |
| * this structure. |
| */ |
| struct qdrv_slab_watch { |
| #define CACHE(x) unsigned int stat_size_tot_alloc_##x; \ |
| unsigned int stat_size_cur_alloc_##x; \ |
| unsigned int stat_size_act_alloc_##x; \ |
| unsigned int stat_size_hwm_alloc_##x; |
| #define ZACHE(y) unsigned int stat_tot_alloc_##y; \ |
| unsigned int stat_cur_alloc_##y; \ |
| unsigned int stat_act_alloc_##y; \ |
| unsigned int stat_hwm_alloc_##y; |
| #include "qdrv_slab_watch.h" |
| #undef CACHE |
| #undef ZACHE |
| } __packed; |
| |
| enum qdrv_slab_index { |
| #define CACHE(x) QDRV_SLAB_IDX_SIZE_##x, |
| #define ZACHE(x) QDRV_SLAB_IDX_##x, |
| #include "qdrv_slab_watch.h" |
| #undef CACHE |
| #undef ZACHE |
| QDRV_SLAB_IDX_MAX |
| }; |
| |
| #endif |