Re: [PATCH] block: cleanup the VM accounting in submit_bio

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2022/05/16 8:36, Christoph Hellwig wrote:
> submit_bio uses some extremely convoluted checks and confusing comments
> to only account REQ_OP_READ/REQ_OP_WRITE comments.  Just switch to the
> plain obvious checks instead.
> 
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
>  block/blk-core.c | 18 +++++-------------
>  1 file changed, 5 insertions(+), 13 deletions(-)
> 
> diff --git a/block/blk-core.c b/block/blk-core.c
> index ee18b6a699bdf..48a58c24d452e 100644
> --- a/block/blk-core.c
> +++ b/block/blk-core.c
> @@ -893,19 +893,11 @@ void submit_bio(struct bio *bio)
>  	if (blkcg_punt_bio_submit(bio))
>  		return;
>  
> -	/*
> -	 * If it's a regular read/write or a barrier with data attached,
> -	 * go through the normal accounting stuff before submission.
> -	 */
> -	if (bio_has_data(bio)) {
> -		unsigned int count = bio_sectors(bio);
> -
> -		if (op_is_write(bio_op(bio))) {
> -			count_vm_events(PGPGOUT, count);
> -		} else {
> -			task_io_account_read(bio->bi_iter.bi_size);
> -			count_vm_events(PGPGIN, count);
> -		}
> +	if (bio_op(bio) == REQ_OP_READ) {
> +		task_io_account_read(bio->bi_iter.bi_size);
> +		count_vm_events(PGPGIN, bio_sectors(bio));
> +	} else if (bio_op(bio) == WRITE) {

I know it is the same value, but for consistency, wouldn't it be better to use
REQ_OP_WRITE here ?

> +		count_vm_events(PGPGOUT, bio_sectors(bio));
>  	}
>  
>  	/*


-- 
Damien Le Moal
Western Digital Research



[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux