<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/net/ethernet/google, branch linux-5.19.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.19.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-09-28T09:32:16Z</updated>
<entry>
<title>gve: Fix GFP flags when allocing pages</title>
<updated>2022-09-28T09:32:16Z</updated>
<author>
<name>Shailend Chand</name>
</author>
<published>2022-09-13T00:09:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6201c365a0ef0e36053adc6cbadb9f396325f2c2'/>
<id>urn:sha1:6201c365a0ef0e36053adc6cbadb9f396325f2c2</id>
<content type='text'>
[ Upstream commit 8ccac4edc8da764389d4fc18b1df740892006557 ]

Use GFP_ATOMIC when allocating pages out of the hotpath,
continue to use GFP_KERNEL when allocating pages during setup.

GFP_KERNEL will allow blocking which allows it to succeed
more often in a low memory enviornment but in the hotpath we do
not want to allow the allocation to block.

Fixes: 9b8dd5e5ea48b ("gve: DQO: Add RX path")
Signed-off-by: Shailend Chand &lt;shailend@google.com&gt;
Signed-off-by: Jeroen de Borst &lt;jeroendb@google.com&gt;
Link: https://lore.kernel.org/r/20220913000901.959546-1-jeroendb@google.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>net: Use u64_stats_fetch_begin_irq() for stats fetch.</title>
<updated>2022-09-08T09:24:06Z</updated>
<author>
<name>Sebastian Andrzej Siewior</name>
</author>
<published>2022-08-25T11:36:45Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=89b1ca91677fc2d1597edf9591999fd4f6a88a7a'/>
<id>urn:sha1:89b1ca91677fc2d1597edf9591999fd4f6a88a7a</id>
<content type='text'>
commit 278d3ba61563ceed3cb248383ced19e14ec7bc1f upstream.

On 32bit-UP u64_stats_fetch_begin() disables only preemption. If the
reader is in preemptible context and the writer side
(u64_stats_update_begin*()) runs in an interrupt context (IRQ or
softirq) then the writer can update the stats during the read operation.
This update remains undetected.

Use u64_stats_fetch_begin_irq() to ensure the stats fetch on 32bit-UP
are not interrupted by a writer. 32bit-SMP remains unaffected by this
change.

Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Catherine Sullivan &lt;csully@google.com&gt;
Cc: David Awogbemila &lt;awogbemila@google.com&gt;
Cc: Dimitris Michailidis &lt;dmichail@fungible.com&gt;
Cc: Eric Dumazet &lt;edumazet@google.com&gt;
Cc: Hans Ulli Kroll &lt;ulli.kroll@googlemail.com&gt;
Cc: Jakub Kicinski &lt;kuba@kernel.org&gt;
Cc: Jeroen de Borst &lt;jeroendb@google.com&gt;
Cc: Johannes Berg &lt;johannes@sipsolutions.net&gt;
Cc: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Cc: Paolo Abeni &lt;pabeni@redhat.com&gt;
Cc: Simon Horman &lt;simon.horman@corigine.com&gt;
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-wireless@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: oss-drivers@corigine.com
Cc: stable@vger.kernel.org
Signed-off-by: Sebastian Andrzej Siewior &lt;bigeasy@linutronix.de&gt;
Reviewed-by: Simon Horman &lt;simon.horman@corigine.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>gve: Fix spelling mistake "droping" -&gt; "dropping"</title>
<updated>2022-03-17T02:29:00Z</updated>
<author>
<name>Colin Ian King</name>
</author>
<published>2022-03-15T22:26:15Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2fc559c8cba028aaa80f73796a8ce5325418fb3e'/>
<id>urn:sha1:2fc559c8cba028aaa80f73796a8ce5325418fb3e</id>
<content type='text'>
There is a spelling mistake in a netdev_warn warning. Fix it.

Signed-off-by: Colin Ian King &lt;colin.i.king@gmail.com&gt;
Link: https://lore.kernel.org/r/20220315222615.2960504-1-colin.i.king@gmail.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>gve: enhance no queue page list detection</title>
<updated>2022-02-16T02:01:06Z</updated>
<author>
<name>Haiyue Wang</name>
</author>
<published>2022-02-15T05:17:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b0471c26108160217fc17acec4a9fdce92aaeeea'/>
<id>urn:sha1:b0471c26108160217fc17acec4a9fdce92aaeeea</id>
<content type='text'>
The commit
a5886ef4f4bf ("gve: Introduce per netdev `enum gve_queue_format`")
introduces three queue format type, only GVE_GQI_QPL_FORMAT queue has
page list. So it should use the queue page list number to detect the
zero size queue page list. Correct the design logic.

Using the 'queue_format == GVE_GQI_RDA_FORMAT' may lead to request zero
sized memory allocation, like if the queue format is GVE_DQO_RDA_FORMAT.

The kernel memory subsystem will return ZERO_SIZE_PTR, which is not NULL
address, so the driver can run successfully. Also the code still checks
the queue page list number firstly, then accesses the allocated memory,
so zero number queue page list allocation will not lead to access fault.

Signed-off-by: Haiyue Wang &lt;haiyue.wang@intel.com&gt;
Reviewed-by: Bailey Forrest &lt;bcf@google.com&gt;
Link: https://lore.kernel.org/r/20220215051751.260866-1-haiyue.wang@intel.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>gve: Recording rx queue before sending to napi</title>
<updated>2022-02-09T00:52:31Z</updated>
<author>
<name>Tao Liu</name>
</author>
<published>2022-02-07T17:59:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=084cbb2ec3af2d23be9de65fcc9493e21e265859'/>
<id>urn:sha1:084cbb2ec3af2d23be9de65fcc9493e21e265859</id>
<content type='text'>
This caused a significant performance degredation when using generic XDP
with multiple queues.

Fixes: f5cedc84a30d2 ("gve: Add transmit and receive support")
Signed-off-by: Tao Liu &lt;xliutaox@google.com&gt;
Link: https://lore.kernel.org/r/20220207175901.2486596-1-jeroendb@google.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>gve: fix the wrong AdminQ buffer queue index check</title>
<updated>2022-01-28T15:07:56Z</updated>
<author>
<name>Haiyue Wang</name>
</author>
<published>2022-01-28T10:47:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1f84a9450d75e08af70d9e2f2d5e1c0ac0c881d2'/>
<id>urn:sha1:1f84a9450d75e08af70d9e2f2d5e1c0ac0c881d2</id>
<content type='text'>
The 'tail' and 'head' are 'unsigned int' type free-running count, when
'head' is overflow, the 'int i (= tail) &lt; u32 head' will be false:

Only '- loop 0: idx = 63' result is shown, so it needs to use 'int' type
to compare, it can handle the overflow correctly.

typedef uint32_t u32;

int main()
{
        u32 tail, head;
        int stail, shead;
        int i, loop;

        tail = 0xffffffff;
        head = 0x00000000;

        for (i = tail, loop = 0; i &lt; head; i++) {
                unsigned int idx = i &amp; 63;

                printf("+ loop %d: idx = %u\n", loop++, idx);
        }

        stail = tail;
        shead = head;
        for (i = stail, loop = 0; i &lt; shead; i++) {
                unsigned int idx = i &amp; 63;

                printf("- loop %d: idx = %u\n", loop++, idx);
        }

        return 0;
}

Fixes: 5cdad90de62c ("gve: Batch AQ commands for creating and destroying queues.")
Signed-off-by: Haiyue Wang &lt;haiyue.wang@intel.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>gve: Fix GFP flags when allocing pages</title>
<updated>2022-01-27T02:45:01Z</updated>
<author>
<name>Catherine Sullivan</name>
</author>
<published>2022-01-26T00:38:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=a92f7a6feeb3884c69c1c7c1f13bccecb2228ad0'/>
<id>urn:sha1:a92f7a6feeb3884c69c1c7c1f13bccecb2228ad0</id>
<content type='text'>
Use GFP_ATOMIC when allocating pages out of the hotpath,
continue to use GFP_KERNEL when allocating pages during setup.

GFP_KERNEL will allow blocking which allows it to succeed
more often in a low memory enviornment but in the hotpath we do
not want to allow the allocation to block.

Fixes: f5cedc84a30d2 ("gve: Add transmit and receive support")
Signed-off-by: Catherine Sullivan &lt;csully@google.com&gt;
Signed-off-by: David Awogbemila &lt;awogbemila@google.com&gt;
Link: https://lore.kernel.org/r/20220126003843.3584521-1-awogbemila@google.com
Signed-off-by: Jakub Kicinski &lt;kuba@kernel.org&gt;
</content>
</entry>
<entry>
<title>gve: Add tx|rx-coalesce-usec for DQO</title>
<updated>2021-12-16T10:41:54Z</updated>
<author>
<name>Tao Liu</name>
</author>
<published>2021-12-16T00:46:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6081ac2013ab9f1a8743f90ef13d973888359cda'/>
<id>urn:sha1:6081ac2013ab9f1a8743f90ef13d973888359cda</id>
<content type='text'>
Adding ethtool support for changing rx-coalesce-usec and tx-coalesce-usec
when using the DQO queue format.

Signed-off-by: Tao Liu &lt;xliutaox@google.com&gt;
Signed-off-by: Jeroen de Borst &lt;jeroendb@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>gve: Add consumed counts to ethtool stats</title>
<updated>2021-12-16T10:41:54Z</updated>
<author>
<name>Jordan Kim</name>
</author>
<published>2021-12-16T00:46:51Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2c9198356d56a8e035702cfd1a0fde27edbcc338'/>
<id>urn:sha1:2c9198356d56a8e035702cfd1a0fde27edbcc338</id>
<content type='text'>
Being able to see how many descriptors are in-use is helpful
when diagnosing certain issues.

Signed-off-by: Jeroen de Borst &lt;jeroendb@google.com&gt;
Signed-off-by: Jordan Kim &lt;jrkim@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
<entry>
<title>gve: Implement suspend/resume/shutdown</title>
<updated>2021-12-16T10:41:54Z</updated>
<author>
<name>Catherine Sullivan</name>
</author>
<published>2021-12-16T00:46:50Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=974365e518617c9ce917f61aacbba07e4bedcca0'/>
<id>urn:sha1:974365e518617c9ce917f61aacbba07e4bedcca0</id>
<content type='text'>
Add support for suspend, resume and shutdown.

Signed-off-by: Catherine Sullivan &lt;csully@google.com&gt;
Signed-off-by: David Awogbemila &lt;awogbemila@google.com&gt;
Signed-off-by: David S. Miller &lt;davem@davemloft.net&gt;
</content>
</entry>
</feed>
