Re: [PATCHv3 2/2] IB/rxe: optimize the function duplicate_request

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 2018/4/10 9:14, Bart Van Assche wrote:
On Tue, 2018-04-10 at 08:22 +0800, Yanjun Zhu wrote:
On 2018/4/8 9:08, Bart Van Assche wrote:
On Sun, 2018-04-08 at 08:54 +0800, Yanjun Zhu wrote:
On 2018/3/31 12:43, Bart Van Assche wrote:
On Sat, 2018-03-31 at 00:18 -0400, Zhu Yanjun wrote:
+			refcount_inc(&res->atomic.skb->users);
Is this perhaps an open-coded skb_get() call? If so, why isn't skb_get()
called here?
Thanks. There are some places that use refcount_inc instead of skb_get.
I will fix it with skb_get later in a patch.
That's a weird approach. What prevents you from modifying this patch such
that it uses skb_get()?
There are some patches use refcount_inc instead of skb_get. If you
insist, I will send a new patch soon.
Hello Yanjun,

In case you would not be aware of this: for Linux kernel patches, just like
for patches for any other open source project I am familiar with, it is
expected that reasonable feedback is addressed before a patch goes upstream.
Hence my surprise when you proposed to introduce skb_get() later instead of
making this change before this patch goes upstream.
In the patch

commit 99dae690255e90f5cbefcc76ad92b35cdf87d14d
Author: Zhu Yanjun <yanjun.zhu@xxxxxxxxxx>
Date:   Wed Mar 21 04:08:37 2018 -0400

    IB/rxe: optimize mcast recv process

    In mcast recv process, the function skb_clone is used. In fact,
    the refcount can be increased to replace cloning a new skb since
    the original skb will not be modified before it is freed.

    This can make the performance better and save the memory.

    CC: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx>
    CC: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
    Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxxx>
    Reviewed-by: Yuval Shaia <yuval.shaia@xxxxxxxxxx>
    Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>

commit 86af617641512f4aeb78fd25dcec7e0f4bb1d5e5
Author: Zhu Yanjun <yanjun.zhu@xxxxxxxxxx>
Date:   Tue Feb 27 06:04:32 2018 -0500

    IB/rxe: remove unnecessary skb_clone

    In send_atomic_ack function, it is not necessary to make a
    skb_clone. To gain better performance (high throughput and
    low latency), this skb_clone is removed.

    The following tests are made.

     server                       client
    ---------                    ---------
    |1.1.1.1|<----rxe-channel--->|1.1.1.2|
    ---------                    ---------

    On server: rping -s -a 1.1.1.1 -v -C 1000 -S 512
    On client: rping -c -a 1.1.1.1 -v -C 1000 -S 512

    The kernel config CONFIG_DEBUG_KMEMLEAK is enabled on both server
    and client.

    This test runs for several hours. There is no memory leak and the whole
    system can work well.

    Based on the above network, the following tests are made.

    Server: ibv_rc_pingpong -d rxe0 -g 1
    Client: ibv_rc_pingpong -d rxe0 -g 1 1.1.1.1

    The test results on Server(10 tests are made).
    Before:
    Throughput is 137.07 Mbit/sec
    Latency is 517.76 usec/iter

    After:
    Throughput is 148.85 Mbit/sec
    Latency is 476.64 usec/iter

    The throughput is enhanced and the latency is reduced.

    CC: Srinivas Eeda <srinivas.eeda@xxxxxxxxxx>
    CC: Junxiao Bi <junxiao.bi@xxxxxxxxxx>
    Signed-off-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxxx>

    Signed-off-by: Doug Ledford <dledford@xxxxxxxxxx>

refcount_inc is used.

So in my opinion, I want to make a new patch to fix all the 3 patches.
If you insist, I will make a new patch.

And I will fix the above patches soon.

Zhu Yanjun

Thanks,

Bart.




--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux