Messages in this thread | | | Date | Wed, 30 Oct 2019 15:01:44 +0100 | From | Christoph Hellwig <> | Subject | Re: [PATCH] squashfs: Migrate from ll_rw_block usage to BIO |
| |
On Wed, Oct 30, 2019 at 10:19:54AM +0900, Philippe Liard wrote: > > What access do you need to synchronize? If you read data into the > > page cache the page lock provides all synchronization needed. If > > you just read into decrompression buffers there probably is no need > > for synchronization at all as each buffer is only accessed by one > > thread at a time. > My main concern here was waiting for the BIO request to complete but > submit_bio_wait() that you pointed out below should address that.
Note that if you are doing multiple bios for a single request using submit_bio_wait might not be optimal. In that case you probably want a refcount and only complete when all of them are done, but by looking at submit_bio_wait should get an idea how that works. Alternatively look at others users, e.g. __blkdev_direct_IO in fs/block_dev.c that already support multiple bios.
| |