Subject: Re: linux-next: manual merge of the usb tree with the drm-intel-fixes tree

From: Rodrigo Vivi <[email-masked]>
Date: Wed, 1 Feb 2023 10:31:25 -0500

On Wed, Feb 01, 2023 at 03:11:31PM +1100, Stephen Rothwell wrote:
> Hi all,
> 
> On Tue, 31 Jan 2023 10:27:29 -0800 John Harrison <[email-masked]> wrote:
> >
> > On 1/31/2023 04:44, Andy Shevchenko wrote:
> > > On Tue, Jan 31, 2023 at 01:03:05PM +1100, Stephen Rothwell wrote:  
> > >>
> > >> Today's linux-next merge of the usb tree got a conflict in:
> > >>
> > >>    drivers/gpu/drm/i915/gt/intel_engine_cs.c
> > >>
> > >> between commit:
> > >>
> > >>    5bc4b43d5c6c ("drm/i915: Fix up locking around dumping requests lists")
> > >>
> > >> from the drm-intel-fixes tree and commit:
> > >>
> > >>    4d70c74659d9 ("i915: Move list_count() to list.h as list_count_nodes() for broader use")
> > >>
> > >> from the usb tree.
> > >>
> > >> I fixed it up (the former removed the code changed by the latter)  
> > > Hmm... Currently I see that [email-masked]
> > > moves the code to the drivers/gpu/drm/i915/gt/intel_execlists_submission.c.
> > >
> > > Is there any new series beside the above mentioned that touches that file and
> > > actually _removes_ that code?  
> > As long as the removal is limited to list_count/list_count_nodes,
> > that's fine. I only moved it from one file to another because the one
> > and only function that was using it was being moved to the other
> > file. If someone else has found a use for the same and wants to move
> > it to a more common place then great. I assume there was no conflict
> > happening in the i915 specific code.
> 
> I have added this fix up patch to linux-next today (more or less - this
> is a hand hacked version, but you get the idea):
> 
> From: Stephen Rothwell <[email-masked]>
> Date: Wed, 1 Feb 2023 13:13:01 +1100
> Subject: [PATCH] i915: fix up for "drm/i915: Fix up locking around dumping requests lists"
> 
> interacting with "i915: Move list_count() to list.h as list_count_nodes() for broader use"
> 
> Signed-off-by: Stephen Rothwell <[email-masked]>
> ---
>  .../gpu/drm/i915/gt/intel_execlists_submission.c    | 15 +------------
>  1 file changed, 2 insertion(+), 13 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> index 3c573d41d404..e919d41a48d9 100644
> --- a/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> +++ b/drivers/gpu/drm/i915/gt/intel_execlists_submission.c
> @@ -4150,17 +4150,6 @@ void intel_execlists_show_requests(struct intel_engine_cs *engine,
>  	spin_unlock_irqrestore(&sched_engine->lock, flags);
>  }
>  
> -static unsigned long list_count(struct list_head *list)
> -{
> -	struct list_head *pos;
> -	unsigned long count = 0;
> -
> -	list_for_each(pos, list)
> -		count++;
> -
> -	return count;
> -}
> -
>  void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
>  					  struct i915_request *hung_rq,
>  					  struct drm_printer *m)
> @@ -4172,7 +4161,7 @@ void intel_execlists_dump_active_requests(struct intel_engine_cs *engine,
>  	intel_engine_dump_active_requests(&engine->sched_engine->requests, hung_rq, m);
>  
> -	drm_printf(m, "\tOn hold?: %lu\n",
> -		   list_count(&engine->sched_engine->hold));
> +	drm_printf(m, "\tOn hold?: %zu\n",
> +		   list_count_nodes(&engine->sched_engine->hold));

something awkward here.
The resolution on linux-next should align with the resolution on drm-tip
where we have the list_count still there as we preferred the version
on drm-intel-gt-next as the resolution of the conflict instead of the
fixes one.

>  
>  	spin_unlock_irqrestore(&engine->sched_engine->lock, flags);
>  }
> -- 
> 2.35.1
> 
> -- 
> Cheers,
> Stephen Rothwell