diff mbox series

[1/2] hw/vfio/migration: Remove unused 'exec/ram_addr.h' header

Message ID 20230227103258.13295-2-philmd@linaro.org
State New
Headers show
Series hw/vfio: Build various target-independent objects once | expand

Commit Message

Philippe Mathieu-Daudé Feb. 27, 2023, 10:32 a.m. UTC
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
 hw/vfio/migration.c | 1 -
 1 file changed, 1 deletion(-)

Comments

Cédric Le Goater Feb. 27, 2023, 1:40 p.m. UTC | #1
On 2/27/23 11:32, Philippe Mathieu-Daudé wrote:
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>


Reviewed-by: Cédric Le Goater <clg@redhat.com>

Thanks,

C.


> ---
>   hw/vfio/migration.c | 1 -
>   1 file changed, 1 deletion(-)
> 
> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
> index a2c3d9bade..f9ac074c63 100644
> --- a/hw/vfio/migration.c
> +++ b/hw/vfio/migration.c
> @@ -24,7 +24,6 @@
>   #include "migration/misc.h"
>   #include "qapi/error.h"
>   #include "exec/ramlist.h"
> -#include "exec/ram_addr.h"
>   #include "pci.h"
>   #include "trace.h"
>   #include "hw/hw.h"
Alex Williamson Feb. 27, 2023, 3:46 p.m. UTC | #2
On Mon, 27 Feb 2023 11:32:57 +0100
Philippe Mathieu-Daudé <philmd@linaro.org> wrote:

> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Empty commit logs are a pet peeve of mine, there must be some sort of
motivation for the change, something that changed to make this
possible, or perhaps why this was never necessary.  Thanks,

Alex

> ---
>  hw/vfio/migration.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
> index a2c3d9bade..f9ac074c63 100644
> --- a/hw/vfio/migration.c
> +++ b/hw/vfio/migration.c
> @@ -24,7 +24,6 @@
>  #include "migration/misc.h"
>  #include "qapi/error.h"
>  #include "exec/ramlist.h"
> -#include "exec/ram_addr.h"
>  #include "pci.h"
>  #include "trace.h"
>  #include "hw/hw.h"
Peter Maydell Feb. 27, 2023, 4:04 p.m. UTC | #3
On Mon, 27 Feb 2023 at 15:46, Alex Williamson
<alex.williamson@redhat.com> wrote:
>
> On Mon, 27 Feb 2023 11:32:57 +0100
> Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
> Empty commit logs are a pet peeve of mine, there must be some sort of
> motivation for the change, something that changed to make this
> possible, or perhaps why this was never necessary.  Thanks,

I generally agree, but "this file doesn't actually need to
include this header" seems straightforward enough that the commit
subject says everything you'd want to say about it.
The underlying reason is going to be one of:
 * this used to be needed, but somewhere along the line the
   thing the file needs moved to a different header
 * this used to be needed, but the code in the file changed
   and no longer uses the thing the header was providing
 * this was never needed, and the include was just cut-n-pasted
   from a different file when the file was originally written

Tracking down which of those is the case for every single
"file is including unnecessary headers" cleanup seems like
a lot of work trawling through git histories and doesn't
really provide any interesting information.

thanks
-- PMM
Alex Bennée Feb. 27, 2023, 4:24 p.m. UTC | #4
Alex Williamson <alex.williamson@redhat.com> writes:

> On Mon, 27 Feb 2023 11:32:57 +0100
> Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>
> Empty commit logs are a pet peeve of mine, there must be some sort of
> motivation for the change, something that changed to make this
> possible, or perhaps why this was never necessary.  Thanks,

I think that is a little unfair for this case as the motivation and
action are all covered by the summary line. Granted the overall goal is
covered by the cover letter and the following patch however for this
patch I would hope its self explanatory.

Anyway:

Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Alex Williamson Feb. 27, 2023, 4:34 p.m. UTC | #5
On Mon, 27 Feb 2023 16:04:16 +0000
Peter Maydell <peter.maydell@linaro.org> wrote:

> On Mon, 27 Feb 2023 at 15:46, Alex Williamson
> <alex.williamson@redhat.com> wrote:
> >
> > On Mon, 27 Feb 2023 11:32:57 +0100
> > Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> >  
> > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>  
> >
> > Empty commit logs are a pet peeve of mine, there must be some sort of
> > motivation for the change, something that changed to make this
> > possible, or perhaps why this was never necessary.  Thanks,  
> 
> I generally agree, but "this file doesn't actually need to
> include this header" seems straightforward enough that the commit
> subject says everything you'd want to say about it.
> The underlying reason is going to be one of:
>  * this used to be needed, but somewhere along the line the
>    thing the file needs moved to a different header
>  * this used to be needed, but the code in the file changed
>    and no longer uses the thing the header was providing
>  * this was never needed, and the include was just cut-n-pasted
>    from a different file when the file was originally written
> 
> Tracking down which of those is the case for every single
> "file is including unnecessary headers" cleanup seems like
> a lot of work trawling through git histories and doesn't
> really provide any interesting information.

OTOH, not providing any justification shows a lack of due diligence.
Even a justification to the extent of "This passes gitlab CI across all
architectures after removing the include" or copying from the cover
letter to explain that this include is the only reason the file is
built per target would be an improvement.

I find that empty commit logs create a barrier to entry for
participation in a project, there is always some motivation that can
help provide a better commit that doesn't force an undue burden on the
submitter.  Thanks,

Alex
Alex Williamson Feb. 27, 2023, 5:13 p.m. UTC | #6
On Mon, 27 Feb 2023 16:24:16 +0000
Alex Bennée <alex.bennee@linaro.org> wrote:

> Alex Williamson <alex.williamson@redhat.com> writes:
> 
> > On Mon, 27 Feb 2023 11:32:57 +0100
> > Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
> >  
> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>  
> >
> > Empty commit logs are a pet peeve of mine, there must be some sort of
> > motivation for the change, something that changed to make this
> > possible, or perhaps why this was never necessary.  Thanks,  
> 
> I think that is a little unfair for this case as the motivation and
> action are all covered by the summary line. Granted the overall goal is
> covered by the cover letter and the following patch however for this
> patch I would hope its self explanatory.

The commit title only conveys that the include is unused and the action
to therefore remove it.  The motivation is actually to create target
independent objects and the specific reasoning here is that not only is
this include file unnecessary, but forces per target builds.

This is exactly the "barrier to entry" I mention to Peter, it's obvious
to the experts in the crowd, but it provides no underlying direction
for those who might be more novice.  There is always some reasoning
that can be included in a commit log beyond the simple "a therefore b"
of the commit title.  Thanks,

Alex
Philippe Mathieu-Daudé Feb. 27, 2023, 9:58 p.m. UTC | #7
Hi Alex,

On 27/2/23 17:34, Alex Williamson wrote:
> On Mon, 27 Feb 2023 16:04:16 +0000
> Peter Maydell <peter.maydell@linaro.org> wrote:
> 
>> On Mon, 27 Feb 2023 at 15:46, Alex Williamson
>> <alex.williamson@redhat.com> wrote:
>>>
>>> On Mon, 27 Feb 2023 11:32:57 +0100
>>> Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>>   
>>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>>
>>> Empty commit logs are a pet peeve of mine, there must be some sort of
>>> motivation for the change, something that changed to make this
>>> possible, or perhaps why this was never necessary.  Thanks,
>>
>> I generally agree, but "this file doesn't actually need to
>> include this header" seems straightforward enough that the commit
>> subject says everything you'd want to say about it.
>> The underlying reason is going to be one of:
>>   * this used to be needed, but somewhere along the line the
>>     thing the file needs moved to a different header
>>   * this used to be needed, but the code in the file changed
>>     and no longer uses the thing the header was providing
>>   * this was never needed, and the include was just cut-n-pasted
>>     from a different file when the file was originally written
>>
>> Tracking down which of those is the case for every single
>> "file is including unnecessary headers" cleanup seems like
>> a lot of work trawling through git histories and doesn't
>> really provide any interesting information.
> 
> OTOH, not providing any justification shows a lack of due diligence.
> Even a justification to the extent of "This passes gitlab CI across all
> architectures after removing the include" or copying from the cover
> letter to explain that this include is the only reason the file is
> built per target would be an improvement.
> 
> I find that empty commit logs create a barrier to entry for
> participation in a project, there is always some motivation that can
> help provide a better commit that doesn't force an undue burden on the
> submitter.  Thanks,

You are totally right and I apologize for such low quality patch.
If I want these cleanups to scale (being done by other) I certainly
need to explain why they are useful. Eventually copy/pasting the
same reasoning for class of change.
OTOH I sometime feel these cleanups are more noise than anything
to maintainers, and various end up queued via qemu-trivial@
(which isn't what I expect for trivial@).
We have a bit of both, maintainers tired by poor descriptions /
justifications, and contributors exhausted to get trivial patch
- for their perspective - merged without too much doc.

This patch you insist on is a good one-line example of a pattern
we should start cleaning: being overzealous with header included
pull so many stuff that we shoot on our foot and end in weird
corner cases, such here making an object target-dependent when
it isn't.
target-dependent objects add build complexity, and delay us from
the goal of single binary and heterogeneous emulation.

Good English explanation for non-English native speaker is not
easy as native speaker, but usually the community is opened and
bare with that barrier.

I'll reword to something work committing and referring to later,
when looking at git history.

Thanks for insisting in improving us!

Phil.
Markus Armbruster March 1, 2023, 7:47 a.m. UTC | #8
Alex Williamson <alex.williamson@redhat.com> writes:

> On Mon, 27 Feb 2023 16:24:16 +0000
> Alex Bennée <alex.bennee@linaro.org> wrote:
>
>> Alex Williamson <alex.williamson@redhat.com> writes:
>> 
>> > On Mon, 27 Feb 2023 11:32:57 +0100
>> > Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>> >  
>> >> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>  
>> >
>> > Empty commit logs are a pet peeve of mine, there must be some sort of
>> > motivation for the change, something that changed to make this
>> > possible, or perhaps why this was never necessary.  Thanks,  
>> 
>> I think that is a little unfair for this case as the motivation and
>> action are all covered by the summary line. Granted the overall goal is
>> covered by the cover letter and the following patch however for this
>> patch I would hope its self explanatory.
>
> The commit title only conveys that the include is unused and the action
> to therefore remove it.  The motivation is actually to create target
> independent objects and the specific reasoning here is that not only is
> this include file unnecessary, but forces per target builds.

I've been guilty of submitting patches with just a subject line, too.
E.g. commit 6f1e91f716a (error: Drop superfluous #include
"qapi/qmp/qerror.h"): I could have written that the header's contents
should go away, and the less we include it, the better.  I should have.

> This is exactly the "barrier to entry" I mention to Peter, it's obvious
> to the experts in the crowd, but it provides no underlying direction
> for those who might be more novice.  There is always some reasoning
> that can be included in a commit log beyond the simple "a therefore b"
> of the commit title.  Thanks,

Sometimes, the motivation is so obvious that omitting it for brevity's
sake feels harmless enough.  E.g. for commit 15b7646c7d0 (monitor: Drop
unnecessary includes) it's really just "include less to remake less".

Of course, when you explain motivation in the cover letter, it's almost
certainly best to explain it again in the commit messages.
Thomas Huth March 1, 2023, 7:32 p.m. UTC | #9
On 27/02/2023 17.04, Peter Maydell wrote:
> On Mon, 27 Feb 2023 at 15:46, Alex Williamson
> <alex.williamson@redhat.com> wrote:
>>
>> On Mon, 27 Feb 2023 11:32:57 +0100
>> Philippe Mathieu-Daudé <philmd@linaro.org> wrote:
>>
>>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>>
>> Empty commit logs are a pet peeve of mine, there must be some sort of
>> motivation for the change, something that changed to make this
>> possible, or perhaps why this was never necessary.  Thanks,
> 
> I generally agree, but "this file doesn't actually need to
> include this header" seems straightforward enough that the commit
> subject says everything you'd want to say about it.

But not giving any description at all is really just bad style, we should 
avoid it. And in this case, there is even a good reason that should be 
mentioned here (e.g. "This header was the only reason this file needed to be 
built per target"). So I think it's fair to ask for a proper commit log 
message here.

  Thomas
diff mbox series

Patch

diff --git a/hw/vfio/migration.c b/hw/vfio/migration.c
index a2c3d9bade..f9ac074c63 100644
--- a/hw/vfio/migration.c
+++ b/hw/vfio/migration.c
@@ -24,7 +24,6 @@ 
 #include "migration/misc.h"
 #include "qapi/error.h"
 #include "exec/ramlist.h"
-#include "exec/ram_addr.h"
 #include "pci.h"
 #include "trace.h"
 #include "hw/hw.h"