VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  1) /* SPDX-License-Identifier: GPL-2.0-or-later */
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  2) /* Internal definitions for network filesystem support
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  3)  *
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  4)  * Copyright (C) 2021 Red Hat, Inc. All Rights Reserved.
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  5)  * Written by David Howells (dhowells@redhat.com)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  6)  */
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  7) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  8) #ifdef pr_fmt
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100  9) #undef pr_fmt
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 10) #endif
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 11) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 12) #define pr_fmt(fmt) "netfs: " fmt
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 13) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 14) /*
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 15)  * read_helper.c
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 16)  */
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 17) extern unsigned int netfs_debug;
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 18) 
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 19) /*
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 20)  * stats.c
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 21)  */
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 22) #ifdef CONFIG_NETFS_STATS
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 23) extern atomic_t netfs_n_rh_readahead;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 24) extern atomic_t netfs_n_rh_readpage;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 25) extern atomic_t netfs_n_rh_rreq;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 26) extern atomic_t netfs_n_rh_sreq;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 27) extern atomic_t netfs_n_rh_download;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 28) extern atomic_t netfs_n_rh_download_done;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 29) extern atomic_t netfs_n_rh_download_failed;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 30) extern atomic_t netfs_n_rh_download_instead;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 31) extern atomic_t netfs_n_rh_read;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 32) extern atomic_t netfs_n_rh_read_done;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 33) extern atomic_t netfs_n_rh_read_failed;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 34) extern atomic_t netfs_n_rh_zero;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 35) extern atomic_t netfs_n_rh_short_read;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 36) extern atomic_t netfs_n_rh_write;
e1b1240c1ff5f (David Howells 2020-09-22 11:06:07 +0100 37) extern atomic_t netfs_n_rh_write_begin;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 38) extern atomic_t netfs_n_rh_write_done;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 39) extern atomic_t netfs_n_rh_write_failed;
e1b1240c1ff5f (David Howells 2020-09-22 11:06:07 +0100 40) extern atomic_t netfs_n_rh_write_zskip;
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 41) 
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 42) 
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 43) static inline void netfs_stat(atomic_t *stat)
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 44) {
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 45) 	atomic_inc(stat);
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 46) }
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 47) 
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 48) static inline void netfs_stat_d(atomic_t *stat)
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 49) {
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 50) 	atomic_dec(stat);
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 51) }
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 52) 
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 53) #else
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 54) #define netfs_stat(x) do {} while(0)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 55) #define netfs_stat_d(x) do {} while(0)
289af54cc67ac (David Howells 2020-11-03 11:32:41 +0000 56) #endif
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 57) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 58) /*****************************************************************************/
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 59) /*
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 60)  * debug tracing
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 61)  */
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 62) #define dbgprintk(FMT, ...) \
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 63) 	printk("[%-6.6s] "FMT"\n", current->comm, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 64) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 65) #define kenter(FMT, ...) dbgprintk("==> %s("FMT")", __func__, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 66) #define kleave(FMT, ...) dbgprintk("<== %s()"FMT"", __func__, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 67) #define kdebug(FMT, ...) dbgprintk(FMT, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 68) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 69) #ifdef __KDEBUG
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 70) #define _enter(FMT, ...) kenter(FMT, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 71) #define _leave(FMT, ...) kleave(FMT, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 72) #define _debug(FMT, ...) kdebug(FMT, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 73) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 74) #elif defined(CONFIG_NETFS_DEBUG)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 75) #define _enter(FMT, ...)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 76) do {						\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 77) 	if (netfs_debug)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 78) 		kenter(FMT, ##__VA_ARGS__);	\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 79) } while (0)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 80) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 81) #define _leave(FMT, ...)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 82) do {						\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 83) 	if (netfs_debug)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 84) 		kleave(FMT, ##__VA_ARGS__);	\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 85) } while (0)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 86) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 87) #define _debug(FMT, ...)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 88) do {						\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 89) 	if (netfs_debug)			\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 90) 		kdebug(FMT, ##__VA_ARGS__);	\
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 91) } while (0)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 92) 
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 93) #else
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 94) #define _enter(FMT, ...) no_printk("==> %s("FMT")", __func__, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 95) #define _leave(FMT, ...) no_printk("<== %s()"FMT"", __func__, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 96) #define _debug(FMT, ...) no_printk(FMT, ##__VA_ARGS__)
3d3c95046742e (David Howells 2020-05-13 17:41:20 +0100 97) #endif