public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Josef Bacik <josef@toxicpanda.com>
To: Qu Wenruo <wqu@suse.com>
Cc: linux-btrfs@vger.kernel.org, fstests@vger.kernel.org
Subject: Re: [PATCH v2 0/8] btrfs: do not poking into the implementation details of bio_vec
Date: Mon, 21 Apr 2025 09:29:06 -0400	[thread overview]
Message-ID: <20250421132906.GA4175772@perftesting> (raw)
In-Reply-To: <cover.1745024799.git.wqu@suse.com>

On Sat, Apr 19, 2025 at 04:47:07PM +0930, Qu Wenruo wrote:
> - Fix a crash caused by incorrectly index sector_ptrs
>   The 5th patch, caused by missing increasement of the @offset variable.
> 
> - Use physical addresses instead of virtual addresses to handle HIGHMEM
>   The 6th patch, as we can still get sector_ptr from bio_sectors[] which
>   is using pages from the bio, and that can be highmem.
> 
>   However I can not do a proper test on this, as the latest kernel has
>   already rejected HIGHMEM64G option, thus even if my VM has extra 3GB
>   for HIGHMEM (total 6GB), I'm not sure if the kernel can really utilize
>   those high memories.
> 
>   Furthermore there seems to be other bugs in mm layer related to
>   HIGHMEM + PAGE, resulting zswap crash when try compressing a page to
>   be swapped out.
>   But at least several scrub/balance related test cases passed on x86
>   32bit with HIGHMEM and PAGE.
> 
>   I have tested with x86_64 (64 bit, no HIGHMEM), aarch64 (64bit, 64K
>   page size, no HIGHMEM) with no regression.
> 
> - Fix a incorrect __bio_add_page() usage in scrub_bio_add_sector()
>   The 6th patch, as bio_add_page() do extra bvec merging before
>   allocating a new bvec, but __bio_add_page() does not.
> 
>   This triggers WARN_ON_ONCE() in __bio_add_page() checking if the bio
>   is full.
> 
>   Fixing it by do the old bio_add_page() and ASSERT(), with extra
>   comment on we can not use __bio_add_page().
> 
> - Various minor commit message update
>   And full proper test runs.
> 

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

Thanks,

Josef

      parent reply	other threads:[~2025-04-21 13:29 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-04-19  7:17 [PATCH v2 0/8] btrfs: do not poking into the implementation details of bio_vec Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 1/8] btrfs: remove the alignment checks in end_bbio_data_read Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 2/8] btrfs: track the next file offset in struct btrfs_bio_ctrl Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 3/8] btrfs: pass a physical address to btrfs_repair_io_failure Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 4/8] btrfs: move kmapping out of btrfs_check_sector_csum Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 5/8] btrfs: simplify bvec iteration in index_one_bio Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 6/8] btrfs: raid56: store a physical address in structure sector_ptr Qu Wenruo
2025-04-21 11:44   ` Christoph Hellwig
2025-04-22 11:31     ` David Sterba
2025-04-23  9:40       ` Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 7/8] btrfs: scrub: use virtual addresses directly Qu Wenruo
2025-04-19  7:17 ` [PATCH v2 8/8] btrfs: use bvec_kmap_local in btrfs_decompress_buf2page Qu Wenruo
2025-04-21 13:29 ` Josef Bacik [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250421132906.GA4175772@perftesting \
    --to=josef@toxicpanda.com \
    --cc=fstests@vger.kernel.org \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=wqu@suse.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox