public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Rant about ChangeLog entries and commit messages
@ 2007-12-02 10:05 Samuel Tardieu
  2007-12-02 10:23 ` Andreas Schwab
                   ` (3 more replies)
  0 siblings, 4 replies; 84+ messages in thread
From: Samuel Tardieu @ 2007-12-02 10:05 UTC (permalink / raw)
  To: gcc

As a recent committer to GCC, I am always surprised to see the content
of ChangeLog entries and commit messages.

I tend to find GCC ChangeLog entries useless. For example, the more
recent ChangeLog entry in gcc/ChangeLog is:

| 2007-11-30  Jan Hubicka  <jh@suse.cz>
| 
|         * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect
|         flag.

How could a newcomer guess why the gcc_force_collect flag needs to be
reset? Jan posted a useful explanation on gcc-patches, but finding it
by searching the mailing-list is not practical and it is not coupled
with the checkin.

Let's look at the corresponding svn log message, which can be found
with "svn blame" if a particular line needs to be pinpointed:

| r130560 | hubicka | 2007-12-01 22:06:31 +0100 (Sat, 01 Dec 2007) | 4 lines
| 
|         * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect
|         flag.

Ok, same information is mirrored here, not useful. Let's look at the
change itself then:

| Index: gcc/ChangeLog
| ===================================================================
| --- gcc/ChangeLog       (revision 130559)
| +++ gcc/ChangeLog       (revision 130560)
| @@ -1,3 +1,8 @@
| +2007-11-30  Jan Hubicka  <jh@suse.cz>
| +
| +       * ggc-common.c (dump_ggc_loc_statistics): Reset ggc_force_collect
| +       flag.
| +
|  2007-11-30  Seongbae Park <seongbae.park@gmail.com>
|  
|         PR rtl-optimization/34171
| Index: gcc/ggc-common.c
| ===================================================================
| --- gcc/ggc-common.c    (revision 130559)
| +++ gcc/ggc-common.c    (revision 130560)
| @@ -1018,5 +1018,6 @@
|    fprintf (stderr, "%-48s %10s       %10s       %10s       %10s       %10s\n",
|            "source location", "Garbage", "Freed", "Leak", "Overhead", "Times");
|    fprintf (stderr, "-------------------------------------------------------\n")
| ;
| +  ggc_force_collect = false;
|  #endif
|  }

Ok, still the same information because of the ChangeLog diff, and we
can see that the change shows that... gcc_force_collect is reset. Wow!

Now, compare that with Jan's message on the list:

| pre-ipa-mem-reports force GGC to be done at each invokation in order to
| collect data on live memory references, but forgets to reset the flag
| after done.  This means that compiler continues GGCcollecting and works
| slowly.

This *is* the information I would expect to be present somewhere in
GCC history. A clear and detailed information on why the change was
necessary. Sure, in some case the checkin references a PR, but the PR
often contains information of what didn't work before the change and
the same information which is already repeated three times (ChangeLog,
svn log and svn diff).

Compare this to a typical commit in the Linux kernel:

| commit b1812582ba94b5f377d5d3cec7646cc17d84e733
| Author: Joachim Fenkes <fenkes@de.ibm.com>
| Date:   Fri Nov 30 16:19:41 2007 -0800
| 
|     IB/ehca: Fix static rate if path faster than link
|     
|     The formula would yield -1 if the path is faster than the link, which
|     is wrong in a bad way (max throttling).  Clamp to 0, which is the
|     correct value.
|     
|     Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
|     Signed-off-by: Roland Dreier <rolandd@cisco.com>
| 
| diff --git a/drivers/infiniband/hw/ehca/ehca_av.c b/drivers/infiniband/hw/ehca/ehca_av.c
| index 453eb99..f7782c8 100644
| --- a/drivers/infiniband/hw/ehca/ehca_av.c
| +++ b/drivers/infiniband/hw/ehca/ehca_av.c
| @@ -76,8 +76,12 @@ int ehca_calc_ipd(struct ehca_shca *shca, int port,
|  
|  	link = ib_width_enum_to_int(pa.active_width) * pa.active_speed;
|  
| -	/* IPD = round((link / path) - 1) */
| -	*ipd = ((link + (path >> 1)) / path) - 1;
| +	if (path >= link)
| +		/* no need to throttle if path faster than link */
| +		*ipd = 0;
| +	else
| +		/* IPD = round((link / path) - 1) */
| +		*ipd = ((link + (path >> 1)) / path) - 1;
|  
|  	return 0;
|  }

What do we have here? A one-line high-level description identifying
what has been done, a synthetic analysis of the problem cause and its
solution, and the audit trail with the Signed-off-by lines (which in
the Linux case is more important than in GCC as copyrights are not
assigned to one entity).

Linux doesn't use ChangeLog, but its history is much more useful to
developers and casual observers than GCC one. And it could be done
for GCC (with SVN) as well.

Maybe we should consider dropping ChangeLogs and using better checkin
messages.

  Sam

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

end of thread, other threads:[~2008-02-28  5:16 UTC | newest]

Thread overview: 84+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <2007-12-02-11-05-39+trackit+sam@rfc1149.net.suse.lists.egcs>
2007-12-02 18:33 ` Rant about ChangeLog entries and commit messages Andi Kleen
     [not found] ` <jeodd9l7j1.fsf@sykes.suse.de.suse.lists.egcs>
     [not found]   ` <Pine.GSO.4.61.0712031739500.10932@mulga.csse.unimelb.edu.au.suse.lists.egcs>
2007-12-03 12:20     ` Andi Kleen
2007-12-04  4:03       ` Nicholas Nethercote
2007-12-04 13:05         ` Richard Kenner
2008-02-23  9:53           ` Rant about ChangeLog entries and commit messages - better to do something than just complain Tim Josling
2008-02-23 15:17             ` Laurent GUERBY
2008-02-23 15:54             ` Daniel Jacobowitz
2008-02-23 16:00               ` Andi Kleen
2008-02-28  5:16                 ` Alexandre Oliva
2007-12-04 10:19       ` Rant about ChangeLog entries and commit messages Robert Kiesling
     [not found] ` <200712022136.57819.ebotcazou@libertysurf.fr.suse.lists.egcs>
     [not found]   ` <4aca3dc20712021240k19f3eae5j66453276179c401a@mail.gmail.com.suse.lists.egcs>
     [not found]     ` <200712022355.23871.ebotcazou@libertysurf.fr.suse.lists.egcs>
     [not found]       ` <4aca3dc20712021621n39a036d2u21f471f231dfffe@mail.gmail.com.suse.lists.egcs>
     [not found]         ` <10712031329.AA20246@vlsi1.ultra.nyu.edu.suse.lists.egcs>
2007-12-03 16:34           ` Andi Kleen
2007-12-03 16:38             ` Richard Kenner
2007-12-02 10:05 Samuel Tardieu
2007-12-02 10:23 ` Andreas Schwab
2007-12-02 10:52   ` Samuel Tardieu
2007-12-02 12:04     ` Hans-Peter Nilsson
2007-12-02 23:28       ` Robert Dewar
2007-12-03  0:30         ` DJ Delorie
2007-12-03  4:06         ` Richard Kenner
2007-12-03  4:51           ` Daniel Berlin
2007-12-03 14:41             ` Richard Kenner
2007-12-02 11:43   ` Samuel Tardieu
2007-12-02 12:28   ` Richard Kenner
2007-12-02 12:43     ` Bernd Schmidt
2007-12-02 13:05       ` Eric Botcazou
2007-12-02 14:27         ` Robert Kiesling
2007-12-02 20:52           ` tim
2007-12-03  2:41             ` Robert Kiesling
2007-12-02 23:29         ` Robert Dewar
2007-12-02 20:28       ` Daniel Berlin
2007-12-02 20:36         ` Eric Botcazou
2007-12-02 20:40           ` Daniel Berlin
2007-12-02 22:55             ` Eric Botcazou
2007-12-03  0:21               ` Daniel Berlin
2007-12-03  6:16                 ` Eric Botcazou
2007-12-03 13:29                 ` Richard Kenner
2007-12-03 15:48                   ` Daniel Berlin
2007-12-03 16:20                     ` Richard Kenner
2007-12-03 16:50                     ` Robert Kiesling
2007-12-03 17:26                       ` Robert Dewar
2007-12-04 22:10                   ` Jeffrey Law
2007-12-16  3:03                   ` Alexandre Oliva
2007-12-16 10:25                     ` NightStrike
2007-12-16 13:04                       ` Alexandre Oliva
2007-12-16 18:52                         ` NightStrike
2007-12-25 19:35                     ` Tim Josling
2007-12-26  1:05                       ` Daniel Berlin
2007-12-26  2:17                       ` Richard Kenner
2007-12-26  2:31                         ` Robert Dewar
2007-12-26  4:53                           ` Richard Kenner
2007-12-26  6:00                       ` Alexandre Oliva
2007-12-02 20:59           ` tim
2007-12-02 23:32           ` Robert Dewar
2007-12-03  6:02             ` Eric Botcazou
2007-12-03  3:55           ` Richard Kenner
2007-12-02 23:31         ` Joseph S. Myers
2007-12-02 20:23     ` Daniel Berlin
2007-12-03  6:45   ` Nicholas Nethercote
2007-12-03  9:28     ` Andreas Schwab
2007-12-02 10:27 ` Eric Botcazou
2007-12-02 10:43   ` Samuel Tardieu
2007-12-02 10:50     ` Eric Botcazou
2007-12-02 11:14       ` Samuel Tardieu
2007-12-02 11:32         ` Eric Botcazou
2007-12-02 11:48           ` Samuel Tardieu
2007-12-02 12:25             ` Eric Botcazou
2007-12-02 23:03 ` Ben Elliston
2007-12-02 23:54   ` Daniel Jacobowitz
2007-12-03  4:03   ` Richard Kenner
2007-12-03 17:33 ` Diego Novillo
2007-12-03 17:37   ` Richard Kenner
2007-12-03 17:47   ` Bernd Schmidt
2007-12-03 17:58     ` Ian Lance Taylor
2007-12-03 18:20     ` Diego Novillo
2007-12-03 18:51       ` Richard Kenner
2007-12-03 18:58         ` Diego Novillo
2007-12-03 20:08           ` Tim Josling
2007-12-03 18:49     ` Richard Kenner
2007-12-04 16:45   ` Tom Tromey
2007-12-05 23:16     ` Ben Elliston
2007-12-05 23:35       ` Daniel Berlin
2007-12-06  0:29         ` Ben Elliston
2007-12-06  9:53           ` Andreas Schwab
2007-12-06  0:42       ` Robert Dewar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).