* Question about STEP_DECOMPRESS_NOWQ
@ 2020-09-09 4:43 Daeho Jeong
2020-09-09 7:13 ` [f2fs-dev] " Chao Yu
0 siblings, 1 reply; 3+ messages in thread
From: Daeho Jeong @ 2020-09-09 4:43 UTC (permalink / raw)
To: linux-kernel, linux-f2fs-devel, kernel-team
Hi Chao,
I have a question about the below flag for decompression.
STEP_DECOMPRESS_NOWQ, /* handle normal cluster data inplace */
According to the comment, you added this for using inplace
decompression but inplace decompression mode is not being activated
now, since we are setting STEP_DECOMPRESS right after bio_add_page().
if (bio_add_page(bio, page, blocksize, 0) < blocksize)
goto submit_and_realloc;
/* tag STEP_DECOMPRESS to handle IO in wq */
ctx = bio->bi_private;
if (!(ctx->enabled_steps & (1 << STEP_DECOMPRESS)))
ctx->enabled_steps |= 1 << STEP_DECOMPRESS;
Did you mean to deactivate inplace decompression mode on purpose,
since it had an issue? I am a little bit confused about this.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [f2fs-dev] Question about STEP_DECOMPRESS_NOWQ
2020-09-09 4:43 Question about STEP_DECOMPRESS_NOWQ Daeho Jeong
@ 2020-09-09 7:13 ` Chao Yu
2020-09-09 23:23 ` Daeho Jeong
0 siblings, 1 reply; 3+ messages in thread
From: Chao Yu @ 2020-09-09 7:13 UTC (permalink / raw)
To: Daeho Jeong, linux-kernel, linux-f2fs-devel, kernel-team
Hi Daeho,
On 2020/9/9 12:43, Daeho Jeong wrote:
> Hi Chao,
>
> I have a question about the below flag for decompression.
>
> STEP_DECOMPRESS_NOWQ, /* handle normal cluster data inplace */
>
> According to the comment, you added this for using inplace
I added this for the condition that: in compressed inode, partial clusters are
written as normal (non-compressed) one due to bad compress ratio, during reading
data in normal cluster, we don't need to queue them in workqueue, instead, we
can just handle them in IRQ context (end_io()).
That says, if all pages in bio are non-compressed, we tag step w/ STEP_DECOMPRESS_NOWQ,
once there is at least one page is compressed, we change step to
STEP_DECOMPRESS.
> decompression but inplace decompression mode is not being activated
'inplace decompression' means decompress in
a. reader thread or
b. IRQ context ?
Thanks
> now, since we are setting STEP_DECOMPRESS right after bio_add_page().
>
> if (bio_add_page(bio, page, blocksize, 0) < blocksize)
> goto submit_and_realloc;
>
> /* tag STEP_DECOMPRESS to handle IO in wq */
> ctx = bio->bi_private;
> if (!(ctx->enabled_steps & (1 << STEP_DECOMPRESS)))
> ctx->enabled_steps |= 1 << STEP_DECOMPRESS;
>
> Did you mean to deactivate inplace decompression mode on purpose,
> since it had an issue? I am a little bit confused about this.
>
>
> _______________________________________________
> Linux-f2fs-devel mailing list
> Linux-f2fs-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> .
>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [f2fs-dev] Question about STEP_DECOMPRESS_NOWQ
2020-09-09 7:13 ` [f2fs-dev] " Chao Yu
@ 2020-09-09 23:23 ` Daeho Jeong
0 siblings, 0 replies; 3+ messages in thread
From: Daeho Jeong @ 2020-09-09 23:23 UTC (permalink / raw)
To: Chao Yu; +Cc: linux-kernel, linux-f2fs-devel, kernel-team
Got it. I misunderstood that is some residue of trying to implement
softirq context decompression. :)
2020년 9월 9일 (수) 오후 4:15, Chao Yu <yuchao0@huawei.com>님이 작성:
>
> Hi Daeho,
>
> On 2020/9/9 12:43, Daeho Jeong wrote:
> > Hi Chao,
> >
> > I have a question about the below flag for decompression.
> >
> > STEP_DECOMPRESS_NOWQ, /* handle normal cluster data inplace */
> >
> > According to the comment, you added this for using inplace
>
> I added this for the condition that: in compressed inode, partial clusters are
> written as normal (non-compressed) one due to bad compress ratio, during reading
> data in normal cluster, we don't need to queue them in workqueue, instead, we
> can just handle them in IRQ context (end_io()).
>
> That says, if all pages in bio are non-compressed, we tag step w/ STEP_DECOMPRESS_NOWQ,
> once there is at least one page is compressed, we change step to
> STEP_DECOMPRESS.
>
> > decompression but inplace decompression mode is not being activated
>
> 'inplace decompression' means decompress in
> a. reader thread or
> b. IRQ context ?
>
> Thanks
>
> > now, since we are setting STEP_DECOMPRESS right after bio_add_page().
> >
> > if (bio_add_page(bio, page, blocksize, 0) < blocksize)
> > goto submit_and_realloc;
> >
> > /* tag STEP_DECOMPRESS to handle IO in wq */
> > ctx = bio->bi_private;
> > if (!(ctx->enabled_steps & (1 << STEP_DECOMPRESS)))
> > ctx->enabled_steps |= 1 << STEP_DECOMPRESS;
> >
> > Did you mean to deactivate inplace decompression mode on purpose,
> > since it had an issue? I am a little bit confused about this.
> >
> >
> > _______________________________________________
> > Linux-f2fs-devel mailing list
> > Linux-f2fs-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
> > .
> >
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-09-10 2:12 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-09-09 4:43 Question about STEP_DECOMPRESS_NOWQ Daeho Jeong
2020-09-09 7:13 ` [f2fs-dev] " Chao Yu
2020-09-09 23:23 ` Daeho Jeong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®