123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- /*
- * Task I/O accounting operations
- */
- #ifndef __TASK_IO_ACCOUNTING_OPS_INCLUDED
- #define __TASK_IO_ACCOUNTING_OPS_INCLUDED
- #ifdef CONFIG_TASK_IO_ACCOUNTING
- static inline void task_io_account_read(size_t bytes)
- {
- current->ioac.read_bytes += bytes;
- }
- /*
- * We approximate number of blocks, because we account bytes only.
- * A 'block' is 512 bytes
- */
- static inline unsigned long task_io_get_inblock(const struct task_struct *p)
- {
- return p->ioac.read_bytes >> 9;
- }
- static inline void task_io_account_write(size_t bytes)
- {
- current->ioac.write_bytes += bytes;
- }
- /*
- * We approximate number of blocks, because we account bytes only.
- * A 'block' is 512 bytes
- */
- static inline unsigned long task_io_get_oublock(const struct task_struct *p)
- {
- return p->ioac.write_bytes >> 9;
- }
- static inline void task_io_account_cancelled_write(size_t bytes)
- {
- current->ioac.cancelled_write_bytes += bytes;
- }
- static inline void task_io_accounting_init(struct task_struct *tsk)
- {
- memset(&tsk->ioac, 0, sizeof(tsk->ioac));
- }
- #else
- static inline void task_io_account_read(size_t bytes)
- {
- }
- static inline unsigned long task_io_get_inblock(const struct task_struct *p)
- {
- return 0;
- }
- static inline void task_io_account_write(size_t bytes)
- {
- }
- static inline unsigned long task_io_get_oublock(const struct task_struct *p)
- {
- return 0;
- }
- static inline void task_io_account_cancelled_write(size_t bytes)
- {
- }
- static inline void task_io_accounting_init(struct task_struct *tsk)
- {
- }
- #endif /* CONFIG_TASK_IO_ACCOUNTING */
- #endif /* __TASK_IO_ACCOUNTING_OPS_INCLUDED */
|