<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/net/ethernet/amazon, branch v4.14.2</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.2</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v4.14.2'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2017-10-19T11:49:15+00:00</updated>
<entry>
<title>net: ena: fix wrong max Tx/Rx queues on ethtool</title>
<updated>2017-10-19T11:49:15+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-10-17T07:33:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=a59df396768a7e37c6ddafeb9666a30c8ac07854'/>
<id>urn:sha1:a59df396768a7e37c6ddafeb9666a30c8ac07854</id>
<content type='text'>
ethtool ena_get_channels() expose the max number of queues as the max
number of queues ENA supports (128 queues) and not the actual number
of created queues.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: fix rare kernel crash when bar memory remap fails</title>
<updated>2017-10-19T11:49:15+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-10-17T07:33:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=411838e7b41c52cf4afa51929cec54c2162472ff'/>
<id>urn:sha1:411838e7b41c52cf4afa51929cec54c2162472ff</id>
<content type='text'>
This failure is rare and only found on testing where deliberately fail
devm_ioremap()

[  451.170464] ena 0000:04:00.0: failed to remap regs bar
451.170549] Workqueue: pciehp-1 pciehp_power_thread
[  451.170551] task: ffff88085a5f2d00 task.stack: ffffc9000756c000
[  451.170552] RIP: 0010:devm_iounmap+0x2d/0x40
[  451.170553] RSP: 0018:ffffc9000756fac0 EFLAGS: 00010282
[  451.170554] RAX: 00000000fffffffe RBX: 0000000000000000 RCX:
0000000000000000
[  451.170555] RDX: ffffffff813a7e00 RSI: 0000000000000282 RDI:
0000000000000282
[  451.170556] RBP: ffffc9000756fac8 R08: 00000000fffffffe R09:
00000000000009b7
[  451.170557] R10: 0000000000000005 R11: 00000000000009b6 R12:
ffff880856c9d0a0
[  451.170558] R13: ffffc9000f5c90c0 R14: ffff880856c9d0a0 R15:
0000000000000028
[  451.170559] FS:  0000000000000000(0000) GS:ffff88085f400000(0000)
knlGS:0000000000000000
[  451.170560] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  451.170561] CR2: 00007f169038b000 CR3: 0000000001c09000 CR4:
00000000003406f0
[  451.170562] DR0: 0000000000000000 DR1: 0000000000000000 DR2:
0000000000000000
[  451.170562] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7:
0000000000000400
[  451.170563] Call Trace:
[  451.170572]  ena_release_bars.isra.48+0x34/0x60 [ena]
[  451.170574]  ena_probe+0x144/0xd90 [ena]
[  451.170579]  ? ida_simple_get+0x98/0x100
[  451.170585]  ? kernfs_next_descendant_post+0x40/0x50
[  451.170591]  local_pci_probe+0x45/0xa0
[  451.170592]  pci_device_probe+0x157/0x180
[  451.170599]  driver_probe_device+0x2a8/0x460
[  451.170600]  __device_attach_driver+0x7e/0xe0
[  451.170602]  ? driver_allows_async_probing+0x30/0x30
[  451.170603]  bus_for_each_drv+0x68/0xb0
[  451.170605]  __device_attach+0xdd/0x160
[  451.170607]  device_attach+0x10/0x20
[  451.170610]  pci_bus_add_device+0x4f/0xa0
[  451.170611]  pci_bus_add_devices+0x39/0x70
[  451.170613]  pciehp_configure_device+0x96/0x120
[  451.170614]  pciehp_enable_slot+0x1b3/0x290
[  451.170616]  pciehp_power_thread+0x3b/0xb0
[  451.170622]  process_one_work+0x149/0x360
[  451.170623]  worker_thread+0x4d/0x3c0
[  451.170626]  kthread+0x109/0x140
[  451.170627]  ? rescuer_thread+0x380/0x380
[  451.170628]  ? kthread_park+0x60/0x60
[  451.170632]  ret_from_fork+0x25/0x30

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: reduce the severity of some printouts</title>
<updated>2017-10-19T11:49:15+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-10-17T07:33:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cd7aea1875c54c69a54a333b75e9d8732503f273'/>
<id>urn:sha1:cd7aea1875c54c69a54a333b75e9d8732503f273</id>
<content type='text'>
Decrease log level of checksum errors as these messages can be
triggered remotely by bad packets.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: update ena driver to version 1.2.0</title>
<updated>2017-06-23T18:15:11+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:22:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8523899912b6958ef471d2393c016f87dc4f0354'/>
<id>urn:sha1:8523899912b6958ef471d2393c016f87dc4f0354</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: update driver's rx drop statistics</title>
<updated>2017-06-23T18:15:11+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=11a9a460199f35f6cbd9d65516a262060cba4fec'/>
<id>urn:sha1:11a9a460199f35f6cbd9d65516a262060cba4fec</id>
<content type='text'>
rx drop counter is reported by the device in the keep-alive
event.
update the driver's counter with the device counter.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: use lower_32_bits()/upper_32_bits() to split dma address</title>
<updated>2017-06-23T18:15:10+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=3ae5907c61587ed8327484bfdda87de0257ea73f'/>
<id>urn:sha1:3ae5907c61587ed8327484bfdda87de0257ea73f</id>
<content type='text'>
In ena_com_mem_addr_set(), use the above functions to split dma address
to the lower 32 bits and the higher 16 bits.

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: separate skb allocation to dedicated function</title>
<updated>2017-06-23T18:15:10+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4265114d5391ed92d7860472c7c8dfe866707106'/>
<id>urn:sha1:4265114d5391ed92d7860472c7c8dfe866707106</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: use napi_schedule_irqoff when possible</title>
<updated>2017-06-23T18:15:10+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e745dafab0340edaa522b43fd36b38e646c2963d'/>
<id>urn:sha1:e745dafab0340edaa522b43fd36b38e646c2963d</id>
<content type='text'>
Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: allow the driver to work with small number of msix vectors</title>
<updated>2017-06-23T18:15:10+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=06443684daede6ded1fab8f8729249436fb0cd8e'/>
<id>urn:sha1:06443684daede6ded1fab8f8729249436fb0cd8e</id>
<content type='text'>
Current driver tries to allocate msix vectors as the number of the
negotiated io queues. (with another msix vector for management).
If pci_alloc_irq_vectors() fails, the driver aborts the probe
and the ENA network device is never brought up.

With this patch, the driver's logic will reduce the number of IO
queues to the number of allocated msix vectors (minus one for management)
instead of failing probe().

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>net: ena: add support for out of order rx buffers refill</title>
<updated>2017-06-23T18:15:09+00:00</updated>
<author>
<name>Netanel Belgazal</name>
<email>netanel@amazon.com</email>
</author>
<published>2017-06-23T08:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ad974baef2a17a170fe837ad19f10dcab63e9470'/>
<id>urn:sha1:ad974baef2a17a170fe837ad19f10dcab63e9470</id>
<content type='text'>
ENA driver post Rx buffers through the Rx submission queue
for the ENA device to fill them with receive packets.
Each Rx buffer is marked with req_id in the Rx descriptor.

Newer ENA devices could consume the posted Rx buffer in out of order,
and as result the corresponding Rx completion queue will have Rx
completion descriptors with non contiguous req_id(s)

In this change the driver holds two rings.
The first ring (called free_rx_ids) is a mapping ring.
It holds all the unused request ids.
The values in this ring are from 0 to ring_size -1.

When the driver wants to allocate a new Rx buffer it uses the head of
free_rx_ids and uses it's value as the index for rx_buffer_info ring.
The req_id is also written to the Rx descriptor

Upon Rx completion,
The driver took the req_id from the completion descriptor and uses it
as index in rx_buffer_info.
The req_id is then return to the free_rx_ids ring.

This patch also adds statistics to inform when the driver receive out
of range or unused req_id.

Note:
free_rx_ids is only accessible from the napi handler, so no locking is
required

Signed-off-by: Netanel Belgazal &lt;netanel@amazon.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
