blob: 7ebb7b133a8f6933d0e0902ea82eb8f94d8d059c [file] [log] [blame]
/*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