From: Tao pilgrim <pilgrimtao@gmail.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: hch@lst.de, sth@linux.ibm.com, viro@zeniv.linux.org.uk,
clm@fb.com, jaegeuk@kernel.org, hch@infradead.org,
Mark Fasheh <mark@fasheh.com>,
dhowells@redhat.com, balbi@kernel.org, damien.lemoal@wdc.com,
bvanassche@acm.org, ming.lei@redhat.com,
martin.petersen@oracle.com, satyat@google.com,
chaitanya.kulkarni@wdc.com, houtao1@huawei.com,
asml.silence@gmail.com, ajay.joshi@wdc.com,
linux-kernel@vger.kernel.org,
Muchun Song <songmuchun@bytedance.com>,
hoeppner@linux.ibm.com, heiko.carstens@de.ibm.com,
gor@linux.ibm.com, borntraeger@de.ibm.com,
linux-s390@vger.kernel.org, sagi@grimberg.me,
linux-nvme@lists.infradead.org, gregkh@linuxfoundation.org,
linux-usb@vger.kernel.org, Josef Bacik <josef@toxicpanda.com>,
dsterba@suse.com, linux-btrfs@vger.kernel.org, chao@kernel.org,
linux-f2fs-devel@lists.sourceforge.net, darrick.wong@oracle.com,
linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
jlbec@evilplan.org, joseph.qi@linux.alibaba.com,
ocfs2-devel@oss.oracle.com, deepa.kernel@gmail.com
Subject: Re: [PATCH v2] blkdev: Replace blksize_bits() with ilog2()
Date: Mon, 1 Jun 2020 15:22:01 +0800 [thread overview]
Message-ID: <CAAWJmAZOQQQeNiTr48OSRRdO2pG+q4c=6gjT55CkWC5FN=HXmA@mail.gmail.com> (raw)
In-Reply-To: <c8412d98-0328-0976-e5f9-5beddc148a35@kernel.dk>
On Fri, May 29, 2020 at 10:13 PM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 5/29/20 8:11 AM, Kaitao Cheng wrote:
> > There is a function named ilog2() exist which can replace blksize.
> > The generated code will be shorter and more efficient on some
> > architecture, such as arm64. And ilog2() can be optimized according
> > to different architecture.
>
> When you posted this last time, I said:
>
> "I like the simplification, but do you have any results to back up
> that claim? Is the generated code shorter? Runs faster?"
>
Hi Jens Axboe:
I did a test on ARM64.
unsigned int ckt_blksize(int size)
{
return blksize_bits(size);
}
unsigned int ckt_ilog2(int size)
{
return ilog2(size);
}
When I compiled it into assembly code, I got the following result,
0000000000000088 <ckt_blksize>:
88: 2a0003e8 mov w8, w0
8c: 321d03e0 orr w0, wzr, #0x8
90: 11000400 add w0, w0, #0x1
94: 7108051f cmp w8, #0x201
98: 53017d08 lsr w8, w8, #1
9c: 54ffffa8 b.hi 90 <ckt_blksize+0x8>
a0: d65f03c0 ret
a4: d503201f nop
00000000000000a8 <ckt_ilog2>:
a8: 320013e8 orr w8, wzr, #0x1f
ac: 5ac01009 clz w9, w0
b0: 4b090108 sub w8, w8, w9
b4: 7100001f cmp w0, #0x0
b8: 5a9f1100 csinv w0, w8, wzr, ne
bc: d65f03c0 ret
The generated code of ilog2 is shorter , and runs faster
> which you handily ignored, yet sending out a new version. I'm not
> going to apply this without justification, your commit message is
> handwavy at best.
>
Do I need to write the test content into commit message?
--
Yours,
Kaitao Cheng
WARNING: multiple messages have this Message-ID (diff)
From: Tao pilgrim <pilgrimtao@gmail.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: hoeppner@linux.ibm.com, heiko.carstens@de.ibm.com,
linux-nvme@lists.infradead.org, dhowells@redhat.com, clm@fb.com,
deepa.kernel@gmail.com, houtao1@huawei.com, hch@lst.de,
linux-s390@vger.kernel.org, bvanassche@acm.org,
darrick.wong@oracle.com, Mark Fasheh <mark@fasheh.com>,
satyat@google.com, hch@infradead.org, borntraeger@de.ibm.com,
gor@linux.ibm.com, ajay.joshi@wdc.com,
chaitanya.kulkarni@wdc.com, chao@kernel.org,
Josef Bacik <josef@toxicpanda.com>,
ming.lei@redhat.com, viro@zeniv.linux.org.uk,
Muchun Song <songmuchun@bytedance.com>,
dsterba@suse.com, jaegeuk@kernel.org, jlbec@evilplan.org,
sagi@grimberg.me, balbi@kernel.org, damien.lemoal@wdc.com,
martin.petersen@oracle.com, joseph.qi@linux.alibaba.com,
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-xfs@vger.kernel.org, ocfs2-devel@oss.oracle.com,
linux-fsdevel@vger.kernel.org, asml.silence@gmail.com,
linux-btrfs@vger.kernel.org, sth@linux.ibm.com
Subject: Re: [PATCH v2] blkdev: Replace blksize_bits() with ilog2()
Date: Mon, 1 Jun 2020 15:22:01 +0800 [thread overview]
Message-ID: <CAAWJmAZOQQQeNiTr48OSRRdO2pG+q4c=6gjT55CkWC5FN=HXmA@mail.gmail.com> (raw)
In-Reply-To: <c8412d98-0328-0976-e5f9-5beddc148a35@kernel.dk>
On Fri, May 29, 2020 at 10:13 PM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 5/29/20 8:11 AM, Kaitao Cheng wrote:
> > There is a function named ilog2() exist which can replace blksize.
> > The generated code will be shorter and more efficient on some
> > architecture, such as arm64. And ilog2() can be optimized according
> > to different architecture.
>
> When you posted this last time, I said:
>
> "I like the simplification, but do you have any results to back up
> that claim? Is the generated code shorter? Runs faster?"
>
Hi Jens Axboe:
I did a test on ARM64.
unsigned int ckt_blksize(int size)
{
return blksize_bits(size);
}
unsigned int ckt_ilog2(int size)
{
return ilog2(size);
}
When I compiled it into assembly code, I got the following result,
0000000000000088 <ckt_blksize>:
88: 2a0003e8 mov w8, w0
8c: 321d03e0 orr w0, wzr, #0x8
90: 11000400 add w0, w0, #0x1
94: 7108051f cmp w8, #0x201
98: 53017d08 lsr w8, w8, #1
9c: 54ffffa8 b.hi 90 <ckt_blksize+0x8>
a0: d65f03c0 ret
a4: d503201f nop
00000000000000a8 <ckt_ilog2>:
a8: 320013e8 orr w8, wzr, #0x1f
ac: 5ac01009 clz w9, w0
b0: 4b090108 sub w8, w8, w9
b4: 7100001f cmp w0, #0x0
b8: 5a9f1100 csinv w0, w8, wzr, ne
bc: d65f03c0 ret
The generated code of ilog2 is shorter , and runs faster
> which you handily ignored, yet sending out a new version. I'm not
> going to apply this without justification, your commit message is
> handwavy at best.
>
Do I need to write the test content into commit message?
--
Yours,
Kaitao Cheng
_______________________________________________
linux-nvme mailing list
linux-nvme@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-nvme
WARNING: multiple messages have this Message-ID (diff)
From: Tao pilgrim <pilgrimtao@gmail.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: hch@lst.de, sth@linux.ibm.com, viro@zeniv.linux.org.uk,
clm@fb.com, jaegeuk@kernel.org, hch@infradead.org,
Mark Fasheh <mark@fasheh.com>,
dhowells@redhat.com, balbi@kernel.org, damien.lemoal@wdc.com,
bvanassche@acm.org, ming.lei@redhat.com,
martin.petersen@oracle.com, satyat@google.com,
chaitanya.kulkarni@wdc.com, houtao1@huawei.com,
asml.silence@gmail.com, ajay.joshi@wdc.com,
linux-kernel@vger.kernel.org,
Muchun Song <songmuchun@bytedance.com>,
hoeppner@linux.ibm.com, heiko.carstens@de.ibm.com,
gor@linux.ibm.com, borntraeger@de.ibm.com,
linux-s390@vger.kernel.org, sagi@grimberg.me,
linux-nvme@lists.infradead.org, gregkh@linuxfoundation.org,
linux-usb@vger.kernel.org, Josef Bacik <josef@toxicpanda.com>,
dsterba@suse.com, linux-btrfs@vger.kernel.org, chao@kernel.org,
linux-f2fs-devel@lists.sourceforge.net, darrick.wong@oracle.com,
linux-xfs@vger.kernel.org, linux-fsdevel@vger.kernel.org,
jlbec@evilplan.org, joseph.qi@linux.alibaba.com,
ocfs2-devel@oss.oracle.com, deepa.kernel@gmail.com
Subject: [Ocfs2-devel] [PATCH v2] blkdev: Replace blksize_bits() with ilog2()
Date: Mon, 1 Jun 2020 15:22:01 +0800 [thread overview]
Message-ID: <CAAWJmAZOQQQeNiTr48OSRRdO2pG+q4c=6gjT55CkWC5FN=HXmA@mail.gmail.com> (raw)
In-Reply-To: <c8412d98-0328-0976-e5f9-5beddc148a35@kernel.dk>
On Fri, May 29, 2020 at 10:13 PM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 5/29/20 8:11 AM, Kaitao Cheng wrote:
> > There is a function named ilog2() exist which can replace blksize.
> > The generated code will be shorter and more efficient on some
> > architecture, such as arm64. And ilog2() can be optimized according
> > to different architecture.
>
> When you posted this last time, I said:
>
> "I like the simplification, but do you have any results to back up
> that claim? Is the generated code shorter? Runs faster?"
>
Hi Jens Axboe:
I did a test on ARM64.
unsigned int ckt_blksize(int size)
{
return blksize_bits(size);
}
unsigned int ckt_ilog2(int size)
{
return ilog2(size);
}
When I compiled it into assembly code, I got the following result,
0000000000000088 <ckt_blksize>:
88: 2a0003e8 mov w8, w0
8c: 321d03e0 orr w0, wzr, #0x8
90: 11000400 add w0, w0, #0x1
94: 7108051f cmp w8, #0x201
98: 53017d08 lsr w8, w8, #1
9c: 54ffffa8 b.hi 90 <ckt_blksize+0x8>
a0: d65f03c0 ret
a4: d503201f nop
00000000000000a8 <ckt_ilog2>:
a8: 320013e8 orr w8, wzr, #0x1f
ac: 5ac01009 clz w9, w0
b0: 4b090108 sub w8, w8, w9
b4: 7100001f cmp w0, #0x0
b8: 5a9f1100 csinv w0, w8, wzr, ne
bc: d65f03c0 ret
The generated code of ilog2 is shorter , and runs faster
> which you handily ignored, yet sending out a new version. I'm not
> going to apply this without justification, your commit message is
> handwavy at best.
>
Do I need to write the test content into commit message?
--
Yours,
Kaitao Cheng
WARNING: multiple messages have this Message-ID (diff)
From: Tao pilgrim <pilgrimtao@gmail.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: hoeppner@linux.ibm.com, heiko.carstens@de.ibm.com,
linux-nvme@lists.infradead.org, dhowells@redhat.com, clm@fb.com,
deepa.kernel@gmail.com, houtao1@huawei.com, hch@lst.de,
linux-s390@vger.kernel.org, bvanassche@acm.org,
darrick.wong@oracle.com, Mark Fasheh <mark@fasheh.com>,
satyat@google.com, hch@infradead.org, borntraeger@de.ibm.com,
gor@linux.ibm.com, chaitanya.kulkarni@wdc.com,
Josef Bacik <josef@toxicpanda.com>,
ming.lei@redhat.com, viro@zeniv.linux.org.uk,
Muchun Song <songmuchun@bytedance.com>,
dsterba@suse.com, jaegeuk@kernel.org, jlbec@evilplan.org,
sagi@grimberg.me, balbi@kernel.org, damien.lemoal@wdc.com,
martin.petersen@oracle.com, joseph.qi@linux.alibaba.com,
gregkh@linuxfoundation.org, linux-usb@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
linux-xfs@vger.kernel.org, ocfs2-devel@oss.oracle.com,
linux-fsdevel@vger.kernel.org, asml.silence@gmail.com,
linux-btrfs@vger.kernel.org, sth@linux.ibm.com
Subject: Re: [f2fs-dev] [PATCH v2] blkdev: Replace blksize_bits() with ilog2()
Date: Mon, 1 Jun 2020 15:22:01 +0800 [thread overview]
Message-ID: <CAAWJmAZOQQQeNiTr48OSRRdO2pG+q4c=6gjT55CkWC5FN=HXmA@mail.gmail.com> (raw)
In-Reply-To: <c8412d98-0328-0976-e5f9-5beddc148a35@kernel.dk>
On Fri, May 29, 2020 at 10:13 PM Jens Axboe <axboe@kernel.dk> wrote:
>
> On 5/29/20 8:11 AM, Kaitao Cheng wrote:
> > There is a function named ilog2() exist which can replace blksize.
> > The generated code will be shorter and more efficient on some
> > architecture, such as arm64. And ilog2() can be optimized according
> > to different architecture.
>
> When you posted this last time, I said:
>
> "I like the simplification, but do you have any results to back up
> that claim? Is the generated code shorter? Runs faster?"
>
Hi Jens Axboe:
I did a test on ARM64.
unsigned int ckt_blksize(int size)
{
return blksize_bits(size);
}
unsigned int ckt_ilog2(int size)
{
return ilog2(size);
}
When I compiled it into assembly code, I got the following result,
0000000000000088 <ckt_blksize>:
88: 2a0003e8 mov w8, w0
8c: 321d03e0 orr w0, wzr, #0x8
90: 11000400 add w0, w0, #0x1
94: 7108051f cmp w8, #0x201
98: 53017d08 lsr w8, w8, #1
9c: 54ffffa8 b.hi 90 <ckt_blksize+0x8>
a0: d65f03c0 ret
a4: d503201f nop
00000000000000a8 <ckt_ilog2>:
a8: 320013e8 orr w8, wzr, #0x1f
ac: 5ac01009 clz w9, w0
b0: 4b090108 sub w8, w8, w9
b4: 7100001f cmp w0, #0x0
b8: 5a9f1100 csinv w0, w8, wzr, ne
bc: d65f03c0 ret
The generated code of ilog2 is shorter , and runs faster
> which you handily ignored, yet sending out a new version. I'm not
> going to apply this without justification, your commit message is
> handwavy at best.
>
Do I need to write the test content into commit message?
--
Yours,
Kaitao Cheng
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2020-06-01 7:22 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-29 14:11 [PATCH v2] blkdev: Replace blksize_bits() with ilog2() Kaitao Cheng
2020-05-29 14:11 ` [f2fs-dev] " Kaitao Cheng
2020-05-29 14:11 ` [Ocfs2-devel] " Kaitao Cheng
2020-05-29 14:11 ` Kaitao Cheng
2020-05-29 14:13 ` Jens Axboe
2020-05-29 14:13 ` [f2fs-dev] " Jens Axboe
2020-05-29 14:13 ` [Ocfs2-devel] " Jens Axboe
2020-05-29 14:13 ` Jens Axboe
2020-06-01 7:22 ` Tao pilgrim [this message]
2020-06-01 7:22 ` [f2fs-dev] " Tao pilgrim
2020-06-01 7:22 ` [Ocfs2-devel] " Tao pilgrim
2020-06-01 7:22 ` Tao pilgrim
2020-06-01 8:44 ` Greg KH
2020-06-01 8:44 ` [f2fs-dev] " Greg KH
2020-06-01 8:44 ` [Ocfs2-devel] " Greg KH
2020-06-01 8:44 ` Greg KH
2020-06-02 5:51 ` Christoph Hellwig
2020-06-02 5:51 ` [f2fs-dev] " Christoph Hellwig
2020-06-02 5:51 ` [Ocfs2-devel] " Christoph Hellwig
2020-06-02 5:51 ` Christoph Hellwig
2020-06-02 6:13 ` Greg KH
2020-06-02 6:13 ` [f2fs-dev] " Greg KH
2020-06-02 6:13 ` [Ocfs2-devel] " Greg KH
2020-06-02 6:13 ` Greg KH
2020-05-29 14:15 ` Christoph Hellwig
2020-05-29 14:15 ` [f2fs-dev] " Christoph Hellwig
2020-05-29 14:15 ` [Ocfs2-devel] " Christoph Hellwig
2020-05-29 14:15 ` Christoph Hellwig
2020-05-29 20:27 ` Matthew Wilcox
2020-05-29 20:27 ` [f2fs-dev] " Matthew Wilcox
2020-05-29 20:27 ` [Ocfs2-devel] " Matthew Wilcox
2020-05-29 20:27 ` Matthew Wilcox
2020-05-29 22:27 ` Bart Van Assche
2020-05-29 22:27 ` [f2fs-dev] " Bart Van Assche
2020-05-29 22:27 ` [Ocfs2-devel] " Bart Van Assche
2020-05-29 22:27 ` Bart Van Assche
2020-05-29 22:39 ` Jens Axboe
2020-05-29 22:39 ` [f2fs-dev] " Jens Axboe
2020-05-29 22:39 ` [Ocfs2-devel] " Jens Axboe
2020-05-29 22:39 ` Jens Axboe
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='CAAWJmAZOQQQeNiTr48OSRRdO2pG+q4c=6gjT55CkWC5FN=HXmA@mail.gmail.com' \
--to=pilgrimtao@gmail.com \
--cc=ajay.joshi@wdc.com \
--cc=asml.silence@gmail.com \
--cc=axboe@kernel.dk \
--cc=balbi@kernel.org \
--cc=borntraeger@de.ibm.com \
--cc=bvanassche@acm.org \
--cc=chaitanya.kulkarni@wdc.com \
--cc=chao@kernel.org \
--cc=clm@fb.com \
--cc=damien.lemoal@wdc.com \
--cc=darrick.wong@oracle.com \
--cc=deepa.kernel@gmail.com \
--cc=dhowells@redhat.com \
--cc=dsterba@suse.com \
--cc=gor@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=heiko.carstens@de.ibm.com \
--cc=hoeppner@linux.ibm.com \
--cc=houtao1@huawei.com \
--cc=jaegeuk@kernel.org \
--cc=jlbec@evilplan.org \
--cc=josef@toxicpanda.com \
--cc=joseph.qi@linux.alibaba.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=mark@fasheh.com \
--cc=martin.petersen@oracle.com \
--cc=ming.lei@redhat.com \
--cc=ocfs2-devel@oss.oracle.com \
--cc=sagi@grimberg.me \
--cc=satyat@google.com \
--cc=songmuchun@bytedance.com \
--cc=sth@linux.ibm.com \
--cc=viro@zeniv.linux.org.uk \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.