All of lore.kernel.org
 help / color / mirror / Atom feed
* [Dovetail] v6.14: fix up to oob page pool
@ 2025-03-03 14:11 Philippe Gerum
  2025-03-03 14:19 ` Florian Bezdeka
  0 siblings, 1 reply; 5+ messages in thread
From: Philippe Gerum @ 2025-03-03 14:11 UTC (permalink / raw)
  To: Florian Bezdeka; +Cc: Xenomai


Hi Florian,

For some reason, the hunk below disappeared from the Dovetail v6.13 code
when rebasing on v6.14-rc, this causes a crash at boot when
CONFIG_PAGE_POOL_OOB is turned on. This fix up should be merged to:

e4ecbcc40e7e6 net: dovetail: add infrastructure for oob device I/O

diff --git a/net/core/page_pool.c b/net/core/page_pool.c
index 7860c3a88c5d2..07ad13dd5ed2e 100644
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
@@ -563,7 +563,7 @@ static noinline netmem_ref __page_pool_alloc_pages_slow(struct page_pool *pool,
 		return pool->alloc.cache[--pool->alloc.count];
 
 	/* Mark empty alloc.cache slots "empty" for alloc_pages_bulk */
-	memset(&pool->alloc.cache, 0, sizeof(void *) * bulk);
+	memset(pool->alloc.cache, 0, sizeof(void *) * bulk);
 
 	nr_pages = alloc_pages_bulk_node(gfp, pool->p.nid, bulk,
 					 (struct page **)pool->alloc.cache);

-- 
Philippe.

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Dovetail] v6.14: fix up to oob page pool
  2025-03-03 14:11 [Dovetail] v6.14: fix up to oob page pool Philippe Gerum
@ 2025-03-03 14:19 ` Florian Bezdeka
  2025-03-03 14:25   ` Philippe Gerum
  0 siblings, 1 reply; 5+ messages in thread
From: Florian Bezdeka @ 2025-03-03 14:19 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: Xenomai

On Mon, 2025-03-03 at 15:11 +0100, Philippe Gerum wrote:
> Hi Florian,
> 
> For some reason, the hunk below disappeared from the Dovetail v6.13 code
> when rebasing on v6.14-rc, this causes a crash at boot when
> CONFIG_PAGE_POOL_OOB is turned on. This fix up should be merged to:
> 
> e4ecbcc40e7e6 net: dovetail: add infrastructure for oob device I/O
> 
> diff --git a/net/core/page_pool.c b/net/core/page_pool.c
> index 7860c3a88c5d2..07ad13dd5ed2e 100644
> --- a/net/core/page_pool.c
> +++ b/net/core/page_pool.c
> @@ -563,7 +563,7 @@ static noinline netmem_ref __page_pool_alloc_pages_slow(struct page_pool *pool,
>  		return pool->alloc.cache[--pool->alloc.count];
>  
>  	/* Mark empty alloc.cache slots "empty" for alloc_pages_bulk */
> -	memset(&pool->alloc.cache, 0, sizeof(void *) * bulk);
> +	memset(pool->alloc.cache, 0, sizeof(void *) * bulk);
>  
>  	nr_pages = alloc_pages_bulk_node(gfp, pool->p.nid, bulk,
>  					 (struct page **)pool->alloc.cache);
> 

I will take care of that. I'm currently rebasing on top of 6.14-rc5.


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Dovetail] v6.14: fix up to oob page pool
  2025-03-03 14:19 ` Florian Bezdeka
@ 2025-03-03 14:25   ` Philippe Gerum
  2025-03-03 14:44     ` Florian Bezdeka
  0 siblings, 1 reply; 5+ messages in thread
From: Philippe Gerum @ 2025-03-03 14:25 UTC (permalink / raw)
  To: Florian Bezdeka; +Cc: Xenomai

Florian Bezdeka <florian.bezdeka@siemens.com> writes:

> On Mon, 2025-03-03 at 15:11 +0100, Philippe Gerum wrote:
>> Hi Florian,
>> 
>> For some reason, the hunk below disappeared from the Dovetail v6.13 code
>> when rebasing on v6.14-rc, this causes a crash at boot when
>> CONFIG_PAGE_POOL_OOB is turned on. This fix up should be merged to:
>> 
>> e4ecbcc40e7e6 net: dovetail: add infrastructure for oob device I/O
>> 
>> diff --git a/net/core/page_pool.c b/net/core/page_pool.c
>> index 7860c3a88c5d2..07ad13dd5ed2e 100644
>> --- a/net/core/page_pool.c
>> +++ b/net/core/page_pool.c
>> @@ -563,7 +563,7 @@ static noinline netmem_ref __page_pool_alloc_pages_slow(struct page_pool *pool,
>>  		return pool->alloc.cache[--pool->alloc.count];
>>  
>>  	/* Mark empty alloc.cache slots "empty" for alloc_pages_bulk */
>> -	memset(&pool->alloc.cache, 0, sizeof(void *) * bulk);
>> +	memset(pool->alloc.cache, 0, sizeof(void *) * bulk);
>>  
>>  	nr_pages = alloc_pages_bulk_node(gfp, pool->p.nid, bulk,
>>  					 (struct page **)pool->alloc.cache);
>> 
>
> I will take care of that. I'm currently rebasing on top of 6.14-rc5.

Ok. Meanwhile, I'm preparing a patch to fix the hard irq context
detection (inverted test of IRQS_DEFERRED). We need to have that one as
a separate patch for backporting.

-- 
Philippe.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Dovetail] v6.14: fix up to oob page pool
  2025-03-03 14:25   ` Philippe Gerum
@ 2025-03-03 14:44     ` Florian Bezdeka
  2025-03-04  9:54       ` Philippe Gerum
  0 siblings, 1 reply; 5+ messages in thread
From: Florian Bezdeka @ 2025-03-03 14:44 UTC (permalink / raw)
  To: Philippe Gerum; +Cc: Xenomai

On Mon, 2025-03-03 at 15:25 +0100, Philippe Gerum wrote:
> Florian Bezdeka <florian.bezdeka@siemens.com> writes:
> 
> > On Mon, 2025-03-03 at 15:11 +0100, Philippe Gerum wrote:
> > > Hi Florian,
> > > 
> > > For some reason, the hunk below disappeared from the Dovetail v6.13 code
> > > when rebasing on v6.14-rc, this causes a crash at boot when
> > > CONFIG_PAGE_POOL_OOB is turned on. This fix up should be merged to:
> > > 
> > > e4ecbcc40e7e6 net: dovetail: add infrastructure for oob device I/O
> > > 
> > > diff --git a/net/core/page_pool.c b/net/core/page_pool.c
> > > index 7860c3a88c5d2..07ad13dd5ed2e 100644
> > > --- a/net/core/page_pool.c
> > > +++ b/net/core/page_pool.c
> > > @@ -563,7 +563,7 @@ static noinline netmem_ref __page_pool_alloc_pages_slow(struct page_pool *pool,
> > >  		return pool->alloc.cache[--pool->alloc.count];
> > >  
> > >  	/* Mark empty alloc.cache slots "empty" for alloc_pages_bulk */
> > > -	memset(&pool->alloc.cache, 0, sizeof(void *) * bulk);
> > > +	memset(pool->alloc.cache, 0, sizeof(void *) * bulk);
> > >  
> > >  	nr_pages = alloc_pages_bulk_node(gfp, pool->p.nid, bulk,
> > >  					 (struct page **)pool->alloc.cache);
> > > 
> > 
> > I will take care of that. I'm currently rebasing on top of 6.14-rc5.
> 
> Ok. Meanwhile, I'm preparing a patch to fix the hard irq context
> detection (inverted test of IRQS_DEFERRED). We need to have that one as
> a separate patch for backporting.
> 

wip/v6.14-dovetail-rebase is now up to date. Tests have been triggered.

Short changelog:
- rebased on top of 6.14-rc5
- Fixed a missing Signed-off for the arm64 fpsimd patch
- Fixed the issue above (net/core/page_pool.c)
- Squashed the IRQS_DEFERRED fix into the introducing commit

Best regards,
Florian

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Dovetail] v6.14: fix up to oob page pool
  2025-03-03 14:44     ` Florian Bezdeka
@ 2025-03-04  9:54       ` Philippe Gerum
  0 siblings, 0 replies; 5+ messages in thread
From: Philippe Gerum @ 2025-03-04  9:54 UTC (permalink / raw)
  To: Florian Bezdeka; +Cc: Xenomai

Florian Bezdeka <florian.bezdeka@siemens.com> writes:

> On Mon, 2025-03-03 at 15:25 +0100, Philippe Gerum wrote:
>> Florian Bezdeka <florian.bezdeka@siemens.com> writes:
>> 
>> > On Mon, 2025-03-03 at 15:11 +0100, Philippe Gerum wrote:
>> > > Hi Florian,
>> > > 
>> > > For some reason, the hunk below disappeared from the Dovetail v6.13 code
>> > > when rebasing on v6.14-rc, this causes a crash at boot when
>> > > CONFIG_PAGE_POOL_OOB is turned on. This fix up should be merged to:
>> > > 
>> > > e4ecbcc40e7e6 net: dovetail: add infrastructure for oob device I/O
>> > > 
>> > > diff --git a/net/core/page_pool.c b/net/core/page_pool.c
>> > > index 7860c3a88c5d2..07ad13dd5ed2e 100644
>> > > --- a/net/core/page_pool.c
>> > > +++ b/net/core/page_pool.c
>> > > @@ -563,7 +563,7 @@ static noinline netmem_ref __page_pool_alloc_pages_slow(struct page_pool *pool,
>> > >  		return pool->alloc.cache[--pool->alloc.count];
>> > >  
>> > >  	/* Mark empty alloc.cache slots "empty" for alloc_pages_bulk */
>> > > -	memset(&pool->alloc.cache, 0, sizeof(void *) * bulk);
>> > > +	memset(pool->alloc.cache, 0, sizeof(void *) * bulk);
>> > >  
>> > >  	nr_pages = alloc_pages_bulk_node(gfp, pool->p.nid, bulk,
>> > >  					 (struct page **)pool->alloc.cache);
>> > > 
>> > 
>> > I will take care of that. I'm currently rebasing on top of 6.14-rc5.
>> 
>> Ok. Meanwhile, I'm preparing a patch to fix the hard irq context
>> detection (inverted test of IRQS_DEFERRED). We need to have that one as
>> a separate patch for backporting.
>> 
>
> wip/v6.14-dovetail-rebase is now up to date. Tests have been triggered.
>
> Short changelog:
> - rebased on top of 6.14-rc5
> - Fixed a missing Signed-off for the arm64 fpsimd patch
> - Fixed the issue above (net/core/page_pool.c)
> - Squashed the IRQS_DEFERRED fix into the introducing commit
>

An overnight stress test went ok here with x4/evl on top of
v6.14-rc5-dovetail for imx8mp, kvm/arm64, imx6qp, odroid c4 and xu4q. I
can confirm that the oob support for the fpsimd unit is stable under
stress on all arm64 platforms tested so far. Nice work, thanks.

-- 
Philippe.

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-03-04  9:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-03 14:11 [Dovetail] v6.14: fix up to oob page pool Philippe Gerum
2025-03-03 14:19 ` Florian Bezdeka
2025-03-03 14:25   ` Philippe Gerum
2025-03-03 14:44     ` Florian Bezdeka
2025-03-04  9:54       ` Philippe Gerum

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.