~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/fs/f2fs/iostat.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /fs/f2fs/iostat.h (Version linux-6.12-rc7) and /fs/f2fs/iostat.h (Version linux-4.13.16)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 
  2 /*                                                
  3  * Copyright 2021 Google LLC                      
  4  * Author: Daeho Jeong <daehojeong@google.com>    
  5  */                                               
  6 #ifndef __F2FS_IOSTAT_H__                         
  7 #define __F2FS_IOSTAT_H__                         
  8                                                   
  9 struct bio_post_read_ctx;                         
 10                                                   
 11 enum iostat_lat_type {                            
 12         READ_IO = 0,                              
 13         WRITE_SYNC_IO,                            
 14         WRITE_ASYNC_IO,                           
 15         MAX_IO_TYPE,                              
 16 };                                                
 17                                                   
 18 #ifdef CONFIG_F2FS_IOSTAT                         
 19                                                   
 20 #define NUM_PREALLOC_IOSTAT_CTXS        128       
 21 #define DEFAULT_IOSTAT_PERIOD_MS        3000      
 22 #define MIN_IOSTAT_PERIOD_MS            100       
 23 /* maximum period of iostat tracing is 1 day *    
 24 #define MAX_IOSTAT_PERIOD_MS            864000    
 25                                                   
 26 struct iostat_lat_info {                          
 27         unsigned long sum_lat[MAX_IO_TYPE][NR_    
 28         unsigned long peak_lat[MAX_IO_TYPE][NR    
 29         unsigned int bio_cnt[MAX_IO_TYPE][NR_P    
 30 };                                                
 31                                                   
 32 extern int __maybe_unused iostat_info_seq_show    
 33                         void *offset);            
 34 extern void f2fs_reset_iostat(struct f2fs_sb_i    
 35 extern void f2fs_update_iostat(struct f2fs_sb_    
 36                         enum iostat_type type,    
 37                                                   
 38 struct bio_iostat_ctx {                           
 39         struct f2fs_sb_info *sbi;                 
 40         unsigned long submit_ts;                  
 41         enum page_type type;                      
 42         struct bio_post_read_ctx *post_read_ct    
 43 };                                                
 44                                                   
 45 static inline void iostat_update_submit_ctx(st    
 46                         enum page_type type)      
 47 {                                                 
 48         struct bio_iostat_ctx *iostat_ctx = bi    
 49                                                   
 50         iostat_ctx->submit_ts = jiffies;          
 51         iostat_ctx->type = type;                  
 52 }                                                 
 53                                                   
 54 static inline struct bio_post_read_ctx *get_po    
 55 {                                                 
 56         struct bio_iostat_ctx *iostat_ctx = bi    
 57                                                   
 58         return iostat_ctx->post_read_ctx;         
 59 }                                                 
 60                                                   
 61 extern void iostat_update_and_unbind_ctx(struc    
 62 extern void iostat_alloc_and_bind_ctx(struct f    
 63                 struct bio *bio, struct bio_po    
 64 extern int f2fs_init_iostat_processing(void);     
 65 extern void f2fs_destroy_iostat_processing(voi    
 66 extern int f2fs_init_iostat(struct f2fs_sb_inf    
 67 extern void f2fs_destroy_iostat(struct f2fs_sb    
 68 #else                                             
 69 static inline void f2fs_update_iostat(struct f    
 70                 enum iostat_type type, unsigne    
 71 static inline void iostat_update_and_unbind_ct    
 72 static inline void iostat_alloc_and_bind_ctx(s    
 73                 struct bio *bio, struct bio_po    
 74 static inline void iostat_update_submit_ctx(st    
 75                 enum page_type type) {}           
 76 static inline struct bio_post_read_ctx *get_po    
 77 {                                                 
 78         return bio->bi_private;                   
 79 }                                                 
 80 static inline int f2fs_init_iostat_processing(    
 81 static inline void f2fs_destroy_iostat_process    
 82 static inline int f2fs_init_iostat(struct f2fs    
 83 static inline void f2fs_destroy_iostat(struct     
 84 #endif                                            
 85 #endif /* __F2FS_IOSTAT_H__ */                    
 86                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php