Re: [BUGReport for rdma in kernel5.2-rc4]

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

 




在 2019/7/1 10:51, Saleem, Shiraz 写道:
>> Subject: Re: [BUGReport for rdma in kernel5.2-rc4]
>>
>>
>>
>> 在 2019/6/29 2:01, Saleem, Shiraz 写道:
>>>> Subject: [BUGReport for rdma in kernel5.2-rc4]
>>>>
>>>>
>>>> Hi Shiraz & Jason,
>>>>
>>>> We have observed a crash when run perftest on a hisilicon arm64
>>>> platform in kernel-5.2-rc4.
>>>>
>>>> We also tested with different kernel version and found it started
>>>> from the the following commit:
>>>>    d10bcf947a3e ("RDMA/umem: Combine contiguous PAGE_SIZE regions in
>>>> SGEs")
>>>>
>>>> Could you please share any hint how to resolve this kind issue?
>>>> Thanks!
>>>>
>>>
>>> Hi Lijun - I am presuming you had this fix too?
>>>
>>> "RDMA/umem: Handle page combining avoidance correctly in
>> ib_umem_add_sg_table()"
>>> https://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma.git/commit/d
>>> rivers/infiniband/core/umem.c?h=v5.2-rc4&id=7872168a839144dbbfb3312526
>>> 2dab0673f9ddf5
>>>
>>> As Jason mentioned, provide the stack backtrace.
>>>
>> I have confirmed that the kernel version used in our test already contains this
>> patch, but the phenomenon still exists on our platform. The previous log is
>> recorded under the condition that the interval of the perftest test is long, and the
>> system will hang. Calltrace will be available when the test interval is short.
>>
>> the kernel version as following:
>> commit dc75d8f9bf27647013bbfae1e2f1d114546994c4
>> Author: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
>> Date:   Wed Jun 5 14:39:26 2019 -0300
>>
>>     {fromtree} RDMA: Move owner into struct ib_device_ops
>>
>>     This more closely follows how other subsytems work, with owner being a
>>     member of the structure containing the function pointers.
>>
>>     Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
>>     Reviewed-by: Leon Romanovsky <leonro@xxxxxxxxxxxx>
>>     Signed-off-by: Jason Gunthorpe <jgg@xxxxxxxxxxxx>
>>
>> the calltrace log as following:
>> root@(none)$ uname -a
>> Linux (none) 5.2.0-rc4-gdc75d8f9 #1 SMP PREEMPT Sat Jun 29 11:23:58 HKT
>> 2019 aarch64 GNU/Linux root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> & [1] 1143 root@(none)$ ib_read_bw -d hns_2 -n 5 192.168.10.110
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0009 PSN 0x6340e6 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffa271f000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0008 PSN 0xbd1845 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffff98244000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                6469.94            6468.60		   0.103498
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [[1] 1145
>>    87.412596] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   87.412596] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   87.426751] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   87.426751] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 192.168.10.110
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x000b PSN 0xef5421 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffff9f7b8000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x000a PSN 0xd2b849 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffff822e7000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                9044.77            9044.77		   0.144716
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1147 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> [   88.772598] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   88.772598] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   88.785887] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   88.785887] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x000d PSN 0x553436 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffa302c000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x000c PSN 0xc22528 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffa2a0c000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                8966.88            8966.88		   0.143470
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1149 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> [   90.064588] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   90.064588] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   90.077875] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   90.077875] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x000f PSN 0xae6ff8 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb89e7000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x000e PSN 0x2e7a7d OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffbe2e5000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                9057.91            9047.42		   0.144759
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [[1] 1151
>>    91.192578] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   91.192578] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   91.206731] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   91.206731] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 192.168.10.110
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0011 PSN 0xb4d02e OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb75c5000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0010 PSN 0xbe677c OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffb82f6000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                8815.15            8805.21		   0.140883
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1153 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> [   92.580588] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-2
>> [   92.580588] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-2
>> [   92.593874] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:2
>> [   92.593874] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:2
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0013 PSN 0x94fd3e OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb0ec9000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0012 PSN 0x282156 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffff8f99d000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                8890.35            8887.82		   0.142205
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1155 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0015 PSN 0x4ef728 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb46a4000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0014 PSN 0x6ba809 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffff88787000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                9204.54            9204.54		   0.147273
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1157 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> [   95.192596] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   95.192596] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   95.205883] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   95.205883] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0016 PSN 0xafe673 OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffb96fc000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0017 PSN 0xdfb0e7 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffff927a6000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                8765.63            8758.26		   0.140132
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [[1] 1159
>>    96.192577] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   96.192577] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   96.206731] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   96.206731] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 192.168.10.110
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x0019 PSN 0xa607e OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb6020000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x0018 PSN 0xc3b7bc OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffbe95e000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                8620.62            8611.12		   0.137778
>> ---------------------------------------------------------------------------------------
>> [1]+  Done                    ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>> root@(none)$ ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 & [1] 1161 root@(none)$
>> ib_read_bw -d hns_2 -n 5 192.168.10.110
>> [   97.540585] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   97.540585] BUG: Bad rss-counter state mm:(____ptrval____) idx:0 val:-1
>> [   97.553871] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> [   97.553871] BUG: Bad rss-counter state mm:(____ptrval____) idx:1 val:1
>> ---------------------------------------------------------------------------------------
>> Device not recognized to implement inline feature. Disabling it cqe = 5, less than
>> minimum CQE number.
>> ---------------------------------------------------------------------------------------
>>                     RDMA_Read BW Test
>>  Dual-port       : OFF		Device         : hns_2
>>  Number of qps   : 1		Transport type : IB
>>  Connection type : RC		Using SRQ      : OFF
>>  TX depth        : 5
>>  CQ Moderation   : 5
>>  Mtu             : 1024[B]
>>  Link type       : Ethernet
>>  GID index       : 2
>>  Outstand reads  : 128
>>  rdma_cm QPs	 : OFF
>>  Data ex. method : Ethernet
>> ---------------------------------------------------------------------------------------
>>  local address: LID 0000 QPN 0x001b PSN 0x3ea763 OUT 0x80 RKey 0x000300
>> VAddr 0x00ffffb8bde000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>>  remote address: LID 0000 QPN 0x001a PSN 0x818b6a OUT 0x80 RKey 0x000200
>> VAddr 0x00ffffb8df2000
>>  GID: 00:00:00:00:00:00:00:00:00:00:255:255:192:168:10:110
>> ---------------------------------------------------------------------------------------
>>  #bytes     #iterations    BW peak[MB/sec]    BW average[MB/sec]
>> MsgRate[Mpps]
>>  65536      5                9070.99            9068.36		   0.145094
>> ---------------------------------------------------------------------------------------
>> [1]+  Done             [       ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1
>>    97.812496] BUG: Bad page state in process swapper/99  pfn:203f958e4
>> [   97.812496] BUG: Bad page state in process swapper/99  pfn:203f958e4
>> [   97.812498] BUG: Bad page state in process swapper/100  pfn:203f9597a
>> [   97.812498] BUG: Bad page state in process swapper/100  pfn:203f9597a
>> [   97.812502] page:ffff7e80fe565e80 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   97.812502] page:ffff7e80fe565e80 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   97.831388] page:ffff7e80fe563900 reroot@(none)$ fcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   97.831388] page:ffff7e80fe563900 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   97.844317] flags: 0xdfffe0000000000a(referenced|dirty)
>> [   97.844317] flags: 0xdfffe0000000000a(referenced|dirty)
>> [   97.861087] flags: 0xdfffe00000000000()
>> [   97.861087] flags: 0xdfffe00000000000()
>> [   97.861091] raw: dfffe00000000000 dead000000000100 dead000000000200
>> 0000000000000000
>> [   97.861091] raw: dfffe00000000000 dead000000000100 dead000000000200
>> 0000000000000000
>> [   97.879857] raw: dfffe0000000000a dead000000000100 dead000000000200
>> 0000000000000000
>> [   97.879857] raw: dfffe0000000000a dead000000000100 dead000000000200
>> 0000000000000000
>> [   97.890339] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   97.890339] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   97.898027] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   97.898027] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   97.913576] page dumped because: nonzero _refcount
>> [   97.913576] page dumped because: nonzero _refcount
>> [   97.929124] page dumped because: nonzero _refcount
>> [   97.929124] page dumped because: nonzero _refcount
>> [   97.929125] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   97.929125] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   97.944673] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   97.944673] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   97.960225] CPU: 100 PID: 0 Comm: swapper/100 Not tainted 5.2.0-rc4-
>> gdc75d8f9 #1
>> [   97.960225] CPU: 100 PID: 0 Comm: swapper/100 Not tainted 5.2.0-rc4-
>> gdc75d8f9 #1
>> [   98.020847] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.020847] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.039542] Call trace:
>> [   98.039542] Call trace:
>> [   98.044440]  dump_backtrace+0x0/0x140
>> [   98.044440]  dump_backtrace+0x0/0x140
>> [   98.051779]  show_stack+0x14/0x20
>> [   98.051779]  show_stack+0x14/0x20
>> [   98.058422]  dump_stack+0xa8/0xcc
>> [   98.058422]  dump_stack+0xa8/0xcc
>> [   98.065065]  bad_page+0xe8/0x150
>> [   98.065065]  bad_page+0xe8/0x150
>> [   98.071532]  free_pages_check_bad+0x70/0xa8
>> [   98.071532]  free_pages_check_bad+0x70/0xa8
>> [   98.079920]  free_pcppages_bulk+0x430/0x6d8
>> [   98.079920]  free_pcppages_bulk+0x430/0x6d8
>> [   98.088308]  free_unref_page_commit+0xc0/0xf8
>> [   98.088308]  free_unref_page_commit+0xc0/0xf8
>> [   98.097045]  free_unref_page+0x78/0x98
>> [   98.097045]  free_unref_page+0x78/0x98
>> [   98.104561]  __put_page+0x44/0x50
>> [   98.104561]  __put_page+0x44/0x50
>> [   98.111202]  free_page_and_swap_cache+0xac/0x100
>> [   98.111202]  free_page_and_swap_cache+0xac/0x100
>> [   98.120463]  tlb_remove_table_rcu+0x30/0x58
>> [   98.120463]  tlb_remove_table_rcu+0x30/0x58
>> [   98.128852]  rcu_core+0x2d8/0x5d8
>> [   98.128852]  rcu_core+0x2d8/0x5d8
>> [   98.135493]  __do_softirq+0x11c/0x3a0
>> [   98.135493]  __do_softirq+0x11c/0x3a0
>> [   98.142834]  irq_exit+0xd0/0xd8
>> [   98.142834]  irq_exit+0xd0/0xd8
>> [   98.149127]  __handle_domain_irq+0x60/0xb0
>> [   98.149127]  __handle_domain_irq+0x60/0xb0
>> [   98.157339]  gic_handle_irq+0x5c/0x154
>> [   98.157339]  gic_handle_irq+0x5c/0x154
>> [   98.164853]  el1_irq+0xb8/0x180
>> [   98.164853]  el1_irq+0xb8/0x180
>> [   98.171144]  arch_cpu_idle+0x30/0x230
>> [   98.171144]  arch_cpu_idle+0x30/0x230
>> [   98.178484]  default_idle_call+0x1c/0x38
>> [   98.178484]  default_idle_call+0x1c/0x38
>> [   98.186349]  do_idle+0x1f0/0x2d0
>> [   98.186349]  do_idle+0x1f0/0x2d0
>> [   98.192815]  cpu_startup_entry+0x24/0x28
>> [   98.192815]  cpu_startup_entry+0x24/0x28
>> [   98.200679]  secondary_start_kernel+0x18c/0x1d0
>> [   98.200679]  secondary_start_kernel+0x18c/0x1d0
>> [   98.209765] Disabling lock debugging due to kernel taint
>> [   98.209765] Disabling lock debugging due to kernel taint
>> [   98.209767] CPU: 99 PID: 0 Comm: swapper/99 Not tainted 5.2.0-rc4-gdc75d8f9
>> #1
>> [   98.209767] CPU: 99 PID: 0 Comm: swapper/99 Not tainted 5.2.0-rc4-gdc75d8f9
>> #1
>> [   98.209768] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.209768] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.220425] BUG: Bad page state in process swapper/100  pfn:203f95977
>> [   98.220425] BUG: Bad page state in process swapper/100  pfn:203f95977
>> [   98.234925] Call trace:
>> [   98.234925] Call trace:
>> [   98.253619] page:ffff7e80fe565dc0 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   98.253619] page:ffff7e80fe565dc0 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   98.266550]  dump_backtrace+0x0/0x140
>> [   98.266550]  dump_backtrace+0x0/0x140
>> [   98.271441] flags: 0xdfffe00000000000()
>> [   98.271441] flags: 0xdfffe00000000000()
>> [   98.271442] raw: dfffe00000000000 dead000000000100 dead000000000200
>> 0000000000000000
>> [   98.271442] raw: dfffe00000000000 dead000000000100 dead000000000200
>> 0000000000000000
>> [   98.288214]  show_stack+0x14/0x20
>> [   98.288214]  show_stack+0x14/0x20
>> [   98.295552] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   98.295552] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   98.303241]  dump_stack+0xa8/0xcc
>> [   98.303241]  dump_stack+0xa8/0xcc
>> [   98.318788] page dumped because: nonzero _refcount
>> [   98.318788] page dumped because: nonzero _refcount
>> [   98.325429]  bad_page+0xe8/0x150
>> [   98.325429]  bad_page+0xe8/0x150
>> [   98.325431]  free_pages_check_bad+0x70/0xa8
>> [   98.325431]  free_pages_check_bad+0x70/0xa8
>> [   98.340978] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   98.340978] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   98.347620]  free_pcppages_bulk+0x430/0x6d8
>> [   98.347620]  free_pcppages_bulk+0x430/0x6d8
>> [   98.393743]  free_unref_page_commit+0xc0/0xf8
>> [   98.393743]  free_unref_page_commit+0xc0/0xf8
>> [   98.402480]  free_unref_page+0x78/0x98
>> [   98.402480]  free_unref_page+0x78/0x98
>> [   98.409994]  __free_pages+0x44/0x50
>> [   98.409994]  __free_pages+0x44/0x50
>> [   98.416985]  free_pages.part.5+0x1c/0x28
>> [   98.416985]  free_pages.part.5+0x1c/0x28
>> [   98.424848]  free_pages+0x14/0x20
>> [   98.424848]  free_pages+0x14/0x20
>> [   98.431488]  tlb_remove_table_rcu+0x4c/0x58
>> [   98.431488]  tlb_remove_table_rcu+0x4c/0x58
>> [   98.439876]  rcu_core+0x2d8/0x5d8
>> [   98.439876]  rcu_core+0x2d8/0x5d8
>> [   98.446517]  __do_softirq+0x11c/0x3a0
>> [   98.446517]  __do_softirq+0x11c/0x3a0
>> [   98.453858]  irq_exit+0xd0/0xd8
>> [   98.453858]  irq_exit+0xd0/0xd8
>> [   98.460150]  __handle_domain_irq+0x60/0xb0
>> [   98.460150]  __handle_domain_irq+0x60/0xb0
>> [   98.468363]  gic_handle_irq+0x5c/0x154
>> [   98.468363]  gic_handle_irq+0x5c/0x154
>> [   98.475876]  el1_irq+0xb8/0x180
>> [   98.475876]  el1_irq+0xb8/0x180
>> [   98.482168]  arch_cpu_idle+0x30/0x230
>> [   98.482168]  arch_cpu_idle+0x30/0x230
>> [   98.489507]  default_idle_call+0x1c/0x38
>> [   98.489507]  default_idle_call+0x1c/0x38
>> [   98.497371]  do_idle+0x1f0/0x2d0
>> [   98.497371]  do_idle+0x1f0/0x2d0
>> [   98.503837]  cpu_startup_entry+0x24/0x28
>> [   98.503837]  cpu_startup_entry+0x24/0x28
>> [   98.511701]  secondary_start_kernel+0x18c/0x1d0
>> [   98.511701]  secondary_start_kernel+0x18c/0x1d0
>> [   98.520788] CPU: 100 PID: 0 Comm: swapper/100 Tainted: G    B             5.2.0-
>> rc4-gdc75d8f9 #1
>> [   98.520788] CPU: 100 PID: 0 Comm: swapper/100 Tainted: G    B             5.2.0-
>> rc4-gdc75d8f9 #1
>> [   98.520789] BUG: Bad page state in process swapper/99  pfn:203f96a5a
>> [   98.520789] BUG: Bad page state in process swapper/99  pfn:203f96a5a
>> [   98.520791] page:ffff7e80fe5a9680 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   98.520791] page:ffff7e80fe5a9680 refcount:-1 mapcount:0
>> mapping:0000000000000000 index:0x1
>> [   98.538435] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.538435] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.538436] Call trace:
>> [   98.538436] Call trace:
>> [   98.551189] flags: 0xdfffe0000000000a(referenced|dirty)
>> [   98.551189] flags: 0xdfffe0000000000a(referenced|dirty)
>> [   98.551191] raw: dfffe0000000000a dead000000000100 dead000000000200
>> 0000000000000000
>> [   98.551191] raw: dfffe0000000000a dead000000000100 dead000000000200
>> 0000000000000000
>> [   98.567962]  dump_backtrace+0x0/0x140
>> [   98.567962]  dump_backtrace+0x0/0x140
>> [   98.567963]  show_stack+0x14/0x20
>> [   98.567963]  show_stack+0x14/0x20
>> [   98.586656] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   98.586656] raw: 0000000000000001 0000000000000000 ffffffffffffffff
>> 0000000000000000
>> [   98.591549]  dump_stack+0xa8/0xcc
>> [   98.591549]  dump_stack+0xa8/0xcc
>> [   98.602031] page dumped because: nonzero _refcount
>> [   98.602031] page dumped because: nonzero _refcount
>> [   98.617581]  bad_page+0xe8/0x150
>> [   98.617581]  bad_page+0xe8/0x150
>> [   98.624918] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   98.624918] Modules linked in: hns_roce_hw_v2 hns_roce hclge hns3 hnae3
>> [   98.631559]  free_pages_check_bad+0x70/0xa8
>> [   98.631559]  free_pages_check_bad+0x70/0xa8
>> [   98.631560]  free_pcppages_bulk+0x430/0x6d8
>> [   98.631560]  free_pcppages_bulk+0x430/0x6d8
>> [   98.699872]  free_unref_page_commit+0xc0/0xf8
>> [   98.699872]  free_unref_page_commit+0xc0/0xf8
>> [   98.708610]  free_unref_page+0x78/0x98
>> [   98.708610]  free_unref_page+0x78/0x98
>> [   98.716123]  __put_page+0x44/0x50
>> [   98.716123]  __put_page+0x44/0x50
>> [   98.722764]  free_page_and_swap_cache+0xac/0x100
>> [   98.722764]  free_page_and_swap_cache+0xac/0x100
>> [   98.732025]  tlb_remove_table_rcu+0x30/0x58
>> [   98.732025]  tlb_remove_table_rcu+0x30/0x58
>> [ib_read_bw -d hns_2 -n 5 > /dev/null 2>&1 &
>>    98.740412]  rcu_core+0x2d8/0x5d8
>> [   98.740412]  rcu_core+0x2d8/0x5d8
>> [   98.750959]  __do_softirq+0x11c/0x3a0
>> [   98.750959]  __do_softirq+0x11c/0x3a0
>> [   98.758298]  irq_exit+0xd0/0xd8
>> [   98.758298]  irq_exit+0xd0/0xd8
>> [   98.764589]  __handle_domain_irq+0x60/0xb0
>> [   98.764589]  __handle_domain_irq+0x60/0xb0
>> [   98.772802]  gic_handle_irq+0x5c/0x154
>> [   98.772802]  gic_handle_irq+0x5c/0x154
>> [   98.780316]  el1_irq+0xb8/0x180
>> [   98.780316]  el1_irq+0xb8/0x180
>> [   98.786608]  arch_cp[1] 1163
>> u_idle+0x30/0x230
>> [   98.786608]  arch_cpu_idle+0x30/0x230
>> [   98.794815]  default_idle_call+0x1c/0x38
>> [   98.794815]  default_idle_call+0x1c/0x38
>> [   98.802678]  do_idle+0x1f0/0x2d0
>> [   98.802678]  do_idle+0x1f0/0x2d0
>> [   98.809144]  cpu_startup_entry+0x24/0x28
>> [   98.809144]  cpu_startup_entry+0x24/0x28
>> [   98.817008]  secondary_start_kernel+0x18c/0x1d0
>> [   98.817008]  secondary_start_kernel+0x18c/0x1d0
>> [   98.826095] CPU: 99 PID: 0 Comm: swapper/99 Tainted: G    B             5.2.0-rc4-
>> gdc75d8f9 #1
>> [   98.826095] CPU: 99 PID: 0 Comm: swapper/99 Tainted: G    B             5.2.0-rc4-
>> gdc75d8f9 #1
>> [root@(none)$    98.843392] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA,
>> BIOS TA BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.843392] Hardware name: Huawei TaiShan 2280 V2/BC82AMDA, BIOS TA
>> BIOS 2280-A CS V2.26.01 06/13/2019
>> [   98.864082] Call trace:
>> [   98.864082] Call trace:
>> [   98.868976]  dump_backtrace+0x0/0x140
>> [   98.868976]  dump_backtrace+0x0/0x140
>> [   98.876315]  show_stack+0x14/0x20
>> [   98.876315]  show_stack+0x14/0x20
>> [   98.882955]  dump_stack+0xa8/0xcc
>> [   98.882955]  dump_stack+0xa8/0xcc
>> [   98.889596]  bad_page+0xe8/0x150
>> [   98.889596]  bad_page+0xe8/0x150
>> [   98.896062]  free_pages_check_bad+0x70/0xa8
>> [   98.896062]  free_pages_check_bad+0x70/0xa8
>> [   98.904450]  free_pcppages_bulk+0x430/0x6d8
>> [   98.904450]  free_pcppages_bulk+0x430/0x6d8
>> [   98.912838]  free_unref_page_commit+0xc0/0xf8
>> [   98.912838]  free_unref_page_commit+0xc0/0xf8
>> [   98.921575]  free_unref_page+0x78/0x98
>> [   98.921575]  free_unref_page+0x78/0x98
>> [   98.929089]  __free_pages+0x44/0x50
>> [   98.929089]  __free_pages+0x44/0x50
>> [   98.936079]  free_pages.part.5+0x1c/0x28
>> [   98.936079]  free_pages.part.5+0x1c/0x28
>> [   98.943943]  free_pages+0x14/0x20
>> [   98.943943]  free_pages+0x14/0x20
>> [   98.950583]  tlb_remove_table_rcu+0x4c/0x58
>> [   98.950583]  tlb_remove_table_rcu+0x4c/0x58
>> [   98.958970]  rcu_core+0x2d8/0x5d8
>> [   98.958970]  rcu_core+0x2d8/0x5d8
>> [   98.965611]  __do_softirq+0x11c/0x3a0
>> [   98.965611]  __do_softirq+0x11c/0x3a0
>> [   98.972951]  irq_exit+0xd0/0xd8
>> [   98.972951]  irq_exit+0xd0/0xd8
>> [   98.979242]  __handle_domain_irq+0x60/0xb0
>> [   98.979242]  __handle_domain_irq+0x60/0xb0
>> [   98.987455]  gic_handle_irq+0x5c/0x154
>> [   98.987455]  gic_handle_irq+0x5c/0x154
>> [   98.994968]  el1_irq+0xb8/0x180
>> [   98.994968]  el1_irq+0xb8/0x180
>> [   99.001260]  arch_cpu_idle+0x30/0x230
>> [   99.001260]  arch_cpu_idle+0x30/0x230
>> [   99.008599]  default_idle_call+0x1c/0x38
>> [   99.008599]  default_idle_call+0x1c/0x38
>> [   99.016462]  do_idle+0x1f0/0x2d0
>> [   99.016462]  do_idle+0x1f0/0x2d0
>> [   99.022927]  cpu_startup_entry+0x24/0x28
>> [   99.022927]  cpu_startup_entry+0x24/0x28
>> [   99.030791]  secondary_start_kernel+0x18c/0x1d0
>> [   99.030791]  secondary_start_kernel+0x18c/0x1d0
>> [   99.039878] BUG: Bad page state in process swapper/99  pfn:203f958ec
>> [   99.039878] BUG: Bad page state in process swapper/99  pfn:203f958ec
> 
> Perhaps we got bad page descriptor when unfolding SGEs in __ib_umem_release()
> and doing a put page? But I don’t see dereg MR patch in the trace so that’s
> throwing me off a little.
> 
> Anyways, since we suspect the page combining algo as a potential culprit,
> instrumenting some debug like this could tell us how the page merging and unfolding
> took place.
OK, Thanks, I will use the patch you provided to collect more information as soon as possible.
> 
> echo -n 'func ib_umem_get +p' >/sys/kernel/debug/dynamic_debug/control
> echo -n 'func __ib_umem_release +p' >/sys/kernel/debug/dynamic_debug/control
> echo -n 'func ib_umem_add_sg_table +p' >/sys/kernel/debug/dynamic_debug/control
> 
> diff --git a/drivers/infiniband/core/umem.c b/drivers/infiniband/core/umem.c
> index 08da840..8d4aba1 100644
> --- a/drivers/infiniband/core/umem.c
> +++ b/drivers/infiniband/core/umem.c
> @@ -47,6 +47,10 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d
>  {
>  	struct sg_page_iter sg_iter;
>  	struct page *page;
> +	int i = 0;
> +
> +	pr_debug("ib_umem_release: START------------------------\n");
> +	pr_debug("umem [%px] sg_nents [%u] \n", umem, umem->sg_nents);
>  
>  	if (umem->nmap > 0)
>  		ib_dma_unmap_sg(dev, umem->sg_head.sgl, umem->sg_nents,
> @@ -54,12 +58,15 @@ static void __ib_umem_release(struct ib_device *dev, struct ib_umem *umem, int d
>  
>  	for_each_sg_page(umem->sg_head.sgl, &sg_iter, umem->sg_nents, 0) {
>  		page = sg_page_iter_page(&sg_iter);
> +		pr_debug("sg [0x%px] len [%u] page [0x%px] pfn [0x%lx] refcnt [%d] i [%d]\n",
> +			 (&sg_iter)->sg, (&sg_iter)->sg->length, page, page_to_pfn(page),
> +			 page_ref_count(page), i);
>  		if (umem->writable && dirty)
>  			put_user_pages_dirty_lock(&page, 1);
>  		else
>  			put_user_page(page);
>  	}
> -
> +	pr_debug("ib_umem_release: END------------------------\n");
>  	sg_free_table(&umem->sg_head);
>  }
>  
> @@ -103,8 +110,11 @@ static struct scatterlist *ib_umem_add_sg_table(struct scatterlist *sg,
>  		for (len = 0; i != npages &&
>  			      first_pfn + len == page_to_pfn(page_list[i]) &&
>  			      len < (max_seg_sz >> PAGE_SHIFT);
> -		     len++)
> +		     len++) {
> +			pr_debug("page_ptr [0x%px] pfn [0x%lx] i [%lu] len [%lu]\n",
> +				 page_list[i], page_to_pfn(page_list[i]), i, len);
>  			i++;
> +		}
>  
>  		/* Squash N contiguous pages from page_list into current sge */
>  		if (update_cur_sg) {
> @@ -112,6 +122,8 @@ static struct scatterlist *ib_umem_add_sg_table(struct scatterlist *sg,
>  				sg_set_page(sg, sg_page(sg),
>  					    sg->length + (len << PAGE_SHIFT),
>  					    0);
> +				pr_debug("update_sg: [0x%px] len [%u] page [0x%px] pfn [0x%lx]\n",
> +					sg, sg->length, sg_page(sg), page_to_pfn(sg_page(sg)));
>  				update_cur_sg = false;
>  				continue;
>  			}
> @@ -125,6 +137,8 @@ static struct scatterlist *ib_umem_add_sg_table(struct scatterlist *sg,
>  		(*nents)++;
>  		sg_set_page(sg, first_page, len << PAGE_SHIFT, 0);
>  		first = false;
> +		pr_debug("sg: [0x%px] len [%u] page[0x%px] pfn [0x%lx]\n",
> +			 sg, sg->length, first_page, page_to_pfn(first_page));
>  	}
>  
>  	return sg;
> @@ -293,6 +307,10 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr,
>  
>  	sg = umem->sg_head.sgl;
>  
> +	pr_debug("ib_umem_get: START------------------------\n");
> +	pr_debug("umem [%px] max_seg_size [%u] npages [%lu] pgshift [%u] \n",
> +		umem, dma_get_max_seg_size(context->device->dma_device),
> +		npages, PAGE_SHIFT);
>  	while (npages) {
>  		down_read(&mm->mmap_sem);
>  		ret = get_user_pages(cur_base,
> @@ -323,6 +341,9 @@ struct ib_umem *ib_umem_get(struct ib_udata *udata, unsigned long addr,
>  				  DMA_BIDIRECTIONAL,
>  				  dma_attrs);
>  
> +	pr_debug("umem [%px] sg_nents [%u] nmap [%u] \n", umem, umem->sg_nents, umem->nmap);
> +	pr_debug("ib_umem_get: END------------------------\n");
> +
>  	if (!umem->nmap) {
>  		ret = -ENOMEM;
>  		goto umem_release;
> 




[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