All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.