123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- /*
- * drivers/s390/cio/qdio_perf.h
- *
- * Copyright IBM Corp. 2008
- *
- * Author: Jan Glauber (jang@linux.vnet.ibm.com)
- */
- #ifndef QDIO_PERF_H
- #define QDIO_PERF_H
- #include <linux/types.h>
- #include <linux/device.h>
- #include <asm/atomic.h>
- struct qdio_perf_stats {
- /* interrupt handler calls */
- atomic_long_t qdio_int;
- atomic_long_t pci_int;
- atomic_long_t thin_int;
- /* tasklet runs */
- atomic_long_t tasklet_inbound;
- atomic_long_t tasklet_outbound;
- atomic_long_t tasklet_thinint;
- atomic_long_t tasklet_thinint_loop;
- atomic_long_t thinint_inbound;
- atomic_long_t thinint_inbound_loop;
- atomic_long_t thinint_inbound_loop2;
- /* signal adapter calls */
- atomic_long_t siga_out;
- atomic_long_t siga_in;
- atomic_long_t siga_sync;
- /* misc */
- atomic_long_t inbound_handler;
- atomic_long_t outbound_handler;
- atomic_long_t fast_requeue;
- /* for debugging */
- atomic_long_t debug_tl_out_timer;
- atomic_long_t debug_stop_polling;
- };
- extern struct qdio_perf_stats perf_stats;
- extern int qdio_performance_stats;
- int qdio_setup_perf_stats(void);
- void qdio_remove_perf_stats(void);
- extern void qdio_perf_stat_inc(atomic_long_t *count);
- extern void qdio_perf_stat_dec(atomic_long_t *count);
- #endif
|