All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
To: Tejun Heo <tejun-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
Cc: Kent Overstreet
	<koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>,
	linux-bcache-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	agk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
Subject: Re: [dm-devel] [Bcache v13 09/16] Bcache: generic utility code
Date: Wed, 23 May 2012 11:15:38 -0400	[thread overview]
Message-ID: <20120523151538.GJ14943@redhat.com> (raw)
In-Reply-To: <20120522211706.GH14339-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>

On Tue, May 22, 2012 at 02:17:06PM -0700, Tejun Heo wrote:
> Hello, Kent.
> 
> I've been reading the code and am still very far from understanding
> the whole thing but here are general impressions upto this point.
> 
> * I started reading from get_bucket(), mostly because I wasn't sure
>   where to start.  It would be very helpful to the reviewers and
>   future participants if there's a design doc and more comments (much
>   more).  The code is on the big side and the problem is exacerbated
>   by use of somewhat unconventional constructs and conventions and
>   lack of documentation and comments.

I totally agreed. There is a lot going on and design doc is going to 
help a lot while reviewing.

> * Too many smart macros.  Macros suck.  Smart ones double suck.

I had the same impression when I tried to read the code last. Too many
macros and it makes reading code really difficult.

[..]
> * Somewhat related to the above, I'm not a fan of super-verbose
>   symbols but I *hope* that the variable names were just a tiny bit
>   more descriptive.  At least, the ones used as arguments.

Another thing is that keep variable names consistent. Last time I looked,
same name "c" was being used to represent cached_dev or cache_set or 
something else too. If we keep variable name same to represent same
data structure, it becomes easier to read the code. I was totally lost
and always had to go back to figure out what "c" is representing, what
"d" is representing etc.

Thanks
Vivek

WARNING: multiple messages have this Message-ID (diff)
From: Vivek Goyal <vgoyal@redhat.com>
To: Tejun Heo <tejun@google.com>
Cc: Kent Overstreet <koverstreet@google.com>,
	linux-bcache@vger.kernel.org, agk@redhat.com,
	linux-kernel@vger.kernel.org, dm-devel@redhat.com
Subject: Re: [dm-devel] [Bcache v13 09/16] Bcache: generic utility code
Date: Wed, 23 May 2012 11:15:38 -0400	[thread overview]
Message-ID: <20120523151538.GJ14943@redhat.com> (raw)
In-Reply-To: <20120522211706.GH14339@google.com>

On Tue, May 22, 2012 at 02:17:06PM -0700, Tejun Heo wrote:
> Hello, Kent.
> 
> I've been reading the code and am still very far from understanding
> the whole thing but here are general impressions upto this point.
> 
> * I started reading from get_bucket(), mostly because I wasn't sure
>   where to start.  It would be very helpful to the reviewers and
>   future participants if there's a design doc and more comments (much
>   more).  The code is on the big side and the problem is exacerbated
>   by use of somewhat unconventional constructs and conventions and
>   lack of documentation and comments.

I totally agreed. There is a lot going on and design doc is going to 
help a lot while reviewing.

> * Too many smart macros.  Macros suck.  Smart ones double suck.

I had the same impression when I tried to read the code last. Too many
macros and it makes reading code really difficult.

[..]
> * Somewhat related to the above, I'm not a fan of super-verbose
>   symbols but I *hope* that the variable names were just a tiny bit
>   more descriptive.  At least, the ones used as arguments.

Another thing is that keep variable names consistent. Last time I looked,
same name "c" was being used to represent cached_dev or cache_set or 
something else too. If we keep variable name same to represent same
data structure, it becomes easier to read the code. I was totally lost
and always had to go back to figure out what "c" is representing, what
"d" is representing etc.

Thanks
Vivek

  parent reply	other threads:[~2012-05-23 15:15 UTC|newest]

Thread overview: 152+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-10  3:07 [Bcache v13 00/16] Kent Overstreet
2012-05-10  3:09 ` [Bcache v13 05/16] Export get_random_int() Kent Overstreet
     [not found]   ` <5278ad493eb3ad441b2091b4c119d741e47f5c97.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-15 16:44     ` Tejun Heo
2012-05-15 16:44       ` Tejun Heo
2012-05-10  3:09 ` [Bcache v13 07/16] Closures Kent Overstreet
     [not found]   ` <82f00ebb4ee0404788c5bd7fbfa1fe4969f28ba1.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-15 22:41     ` Tejun Heo
2012-05-15 22:41       ` Tejun Heo
     [not found]       ` <20120515224137.GA15386-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-18  6:29         ` Kent Overstreet
2012-05-18  6:29           ` Kent Overstreet
     [not found]           ` <20120518062948.GA21163-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-18 10:02             ` Alan Cox
2012-05-18 10:02               ` Alan Cox
2012-05-21 19:40               ` Kent Overstreet
2012-05-10  3:10 ` [Bcache v13 08/16] bcache: Documentation, and changes to generic code Kent Overstreet
2012-05-10  3:10 ` [Bcache v13 09/16] Bcache: generic utility code Kent Overstreet
     [not found]   ` <c3f0ca2a499f532253d4c16a30837d43e237266a.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-10 19:35     ` Dan Williams
2012-05-10 19:35       ` Dan Williams
2012-05-10 21:42       ` Kent Overstreet
2012-05-22 21:17     ` Tejun Heo
2012-05-22 21:17       ` Tejun Heo
2012-05-23  3:12       ` Kent Overstreet
2012-05-23  3:12         ` Kent Overstreet
     [not found]         ` <20120523031214.GA607-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  3:36           ` Joe Perches
2012-05-23  3:36             ` Joe Perches
2012-05-23  4:50             ` [PATCH] Add human-readable units modifier to vsnprintf() Kent Overstreet
     [not found]               ` <20120523045023.GE607-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  5:10                 ` Joe Perches
2012-05-23  5:10                   ` Joe Perches
2012-05-23  5:22                   ` Kent Overstreet
2012-05-23  5:22                     ` Kent Overstreet
     [not found]                     ` <20120523052236.GA14312-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  5:42                       ` Joe Perches
2012-05-23  5:42                         ` Joe Perches
2012-05-23  6:04                         ` Kent Overstreet
2012-05-23  6:04                           ` Kent Overstreet
     [not found]                           ` <20120523060435.GD14312-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  6:12                             ` Joe Perches
2012-05-23  6:12                               ` Joe Perches
2012-05-23  5:08           ` [Bcache v13 09/16] Bcache: generic utility code Tejun Heo
2012-05-23  5:08             ` Tejun Heo
     [not found]             ` <20120523050808.GA29976-RcKxWJ4Cfj1J2suj2OqeGauc2jM2gXBXkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  5:54               ` Kent Overstreet
2012-05-23  5:54                 ` Kent Overstreet
     [not found]                 ` <20120523055402.GC14312-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23 16:51                   ` Tejun Heo
2012-05-23 16:51                     ` Tejun Heo
     [not found]       ` <20120522211706.GH14339-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-23 15:15         ` Vivek Goyal [this message]
2012-05-23 15:15           ` [dm-devel] " Vivek Goyal
     [not found]           ` <20120523151538.GJ14943-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-05-23 15:33             ` Kent Overstreet
2012-05-23 15:33               ` Kent Overstreet
2012-05-22 21:19     ` Tejun Heo
2012-05-22 21:19       ` Tejun Heo
2012-05-10  3:10 ` [Bcache v13 10/16] bcache: Superblock/initialization/sysfs code Kent Overstreet
2012-05-10  3:10 ` [Bcache v13 11/16] bcache: Core btree code Kent Overstreet
     [not found]   ` <7f1de39b6d7040b3fe271500776f4b985b21ea82.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-22 22:12     ` Tejun Heo
2012-05-22 22:12       ` Tejun Heo
     [not found]       ` <20120522221259.GJ14339-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-23  3:45         ` Kent Overstreet
2012-05-23  3:45           ` Kent Overstreet
     [not found]           ` <20120523034546.GB607-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23  5:20             ` Tejun Heo
2012-05-23  5:20               ` Tejun Heo
2012-05-23  5:34               ` Kent Overstreet
     [not found]                 ` <20120523053403.GB14312-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23 17:24                   ` Tejun Heo
2012-05-23 17:24                     ` Tejun Heo
2012-05-22 22:40     ` Tejun Heo
2012-05-22 22:40       ` Tejun Heo
2012-05-30  7:47     ` Tejun Heo
2012-05-30  7:47       ` Tejun Heo
     [not found]       ` <20120530074708.GA32121-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-31  1:09         ` Kent Overstreet
2012-05-31  1:09           ` Kent Overstreet
2012-05-10  3:11 ` [Bcache v13 12/16] bcache: Bset code (lookups within a btree node) Kent Overstreet
     [not found]   ` <5b5998d7d09ec36377acdb5d15665d1e4e818521.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-22 22:39     ` Tejun Heo
2012-05-22 22:39       ` Tejun Heo
     [not found]       ` <20120522223932.GK14339-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-23  4:21         ` Kent Overstreet
2012-05-23  4:21           ` Kent Overstreet
     [not found]           ` <20120523042114.GC607-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-23 17:55             ` Tejun Heo
2012-05-23 17:55               ` Tejun Heo
     [not found]               ` <20120523175544.GC18143-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-23 20:49                 ` Tejun Heo
2012-05-23 20:49                   ` Tejun Heo
     [not found]                   ` <20120523204914.GC3933-Gd/HAXX7CRxy/B6EtB590w@public.gmane.org>
2012-05-24 18:11                     ` Tejun Heo
2012-05-24 18:11                       ` Tejun Heo
2012-05-10  3:11 ` [Bcache v13 13/16] bcache: Journalling Kent Overstreet
2012-05-10  3:11 ` [Bcache v13 14/16] bcache: Request, io and allocation code Kent Overstreet
     [not found]   ` <9ea33658f2a71b3b9bd2ec10bee959bef146f23c.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-22 22:42     ` Tejun Heo
2012-05-22 22:42       ` Tejun Heo
     [not found]       ` <20120522224255.GM14339-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-23  1:44         ` Kent Overstreet
2012-05-23  1:44           ` Kent Overstreet
2012-05-23  4:24         ` Kent Overstreet
2012-05-23  4:24           ` Kent Overstreet
2012-05-22 22:44     ` Tejun Heo
2012-05-22 22:44       ` Tejun Heo
2012-05-30  7:23     ` Tejun Heo
2012-05-30  7:23       ` Tejun Heo
     [not found]       ` <20120530072358.GB4854-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-31  0:52         ` Kent Overstreet
2012-05-31  0:52           ` Kent Overstreet
     [not found]           ` <20120531005224.GA5645-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-31  2:43             ` Tejun Heo
2012-05-31  2:43               ` Tejun Heo
2012-05-31  5:13               ` Kent Overstreet
     [not found]                 ` <20120531051321.GA12602-RcKxWJ4Cfj3IzGYXcIpNmNLIRw13R84JkQQo+JxHRPFibQn6LdNjmg@public.gmane.org>
2012-05-31  6:45                   ` Tejun Heo
2012-05-31  6:45                     ` Tejun Heo
     [not found]                     ` <20120531064515.GA18984-9pTldWuhBndy/B6EtB590w@public.gmane.org>
2012-06-01  2:37                       ` Tejun Heo
2012-06-01  2:37                         ` Tejun Heo
2012-05-31  2:45           ` Tejun Heo
2012-05-30  7:32     ` Tejun Heo
2012-05-30  7:32       ` Tejun Heo
2012-05-10  3:11 ` [Bcache v13 15/16] bcache: Writeback Kent Overstreet
2012-05-10 13:54 ` [Bcache v13 00/16] Vivek Goyal
2012-05-10 13:54   ` [dm-devel] " Vivek Goyal
2012-05-10 15:03 ` Vivek Goyal
     [not found]   ` <20120510150353.GI23768-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-05-10 15:34     ` Kent Overstreet
2012-05-10 15:34       ` Kent Overstreet
     [not found] ` <1188908028.170.1336674698865.JavaMail.mail@webmail09>
2012-05-10 18:49   ` [Bcache v13 11/16] bcache: Core btree code Joe Perches
2012-05-10 21:48     ` Kent Overstreet
2012-05-10 21:48       ` Kent Overstreet
     [not found] ` <cover.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-10  3:08   ` [Bcache v13 01/16] Only clone bio vecs that are in use Kent Overstreet
2012-05-10  3:08     ` Kent Overstreet
     [not found]     ` <cb817596299fecd01ea36e4a80203f23165bda75.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-10 21:35       ` [dm-devel] " Vivek Goyal
2012-05-10 21:35         ` Vivek Goyal
     [not found]         ` <20120510213556.GO23768-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-05-10 21:42           ` Kent Overstreet
2012-05-10 21:42             ` Kent Overstreet
     [not found]             ` <CAH+dOxJ2Vi=8Oq1zDZLmqD9-a_wgM=co3+xemw4XBoiDkh_4zg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-05-11 13:29               ` Jeff Moyer
2012-05-11 13:29                 ` Jeff Moyer
2012-05-11 20:29                 ` Kent Overstreet
2012-05-15 16:19       ` Tejun Heo
2012-05-15 16:19         ` Tejun Heo
2012-05-10  3:08   ` [Bcache v13 02/16] Bio pool freeing Kent Overstreet
2012-05-10  3:08     ` Kent Overstreet
     [not found]     ` <ba8ce9fcca87f192ff5f5d3a436eb8f4d0bcb006.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-10 21:32       ` [dm-devel] " Vivek Goyal
2012-05-10 21:32         ` Vivek Goyal
2012-05-10 21:39         ` Kent Overstreet
     [not found]           ` <CAH+dOxL7QwcyUm46cK-pF1qK+kHYC=67iAaQDDwUF2ssJwergA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-05-10 21:52             ` Vivek Goyal
2012-05-10 21:52               ` Vivek Goyal
     [not found]               ` <20120510215208.GC2613-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
2012-05-10 21:53                 ` Kent Overstreet
2012-05-10 21:53                   ` Kent Overstreet
2012-05-15 16:24       ` Tejun Heo
2012-05-15 16:24         ` Tejun Heo
2012-05-15 16:25       ` Tejun Heo
2012-05-15 16:25         ` Tejun Heo
2012-05-10  3:08   ` [Bcache v13 03/16] Revert "rw_semaphore: remove up/down_read_non_owner" Kent Overstreet
2012-05-10  3:08     ` Kent Overstreet
     [not found]     ` <3f51ec3e69b8f471e2d1cc539f01504e2b903fed.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-15 16:37       ` Tejun Heo
2012-05-15 16:37         ` Tejun Heo
2012-05-15 16:38     ` Tejun Heo
2012-05-10  3:09   ` [Bcache v13 04/16] Fix ratelimit macro to compile in c99 mode Kent Overstreet
2012-05-10  3:09     ` Kent Overstreet
     [not found]     ` <d7cfd6b70316efc3fe2ce575203d906a610e3670.1336619038.git.koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>
2012-05-15 16:43       ` Tejun Heo
2012-05-15 16:43         ` Tejun Heo
2012-05-10  3:09   ` [Bcache v13 06/16] Export blk_fill_rwbs() Kent Overstreet
2012-05-10  3:09     ` Kent Overstreet
2012-05-10  3:11   ` [Bcache v13 16/16] bcache: Debug and tracing code Kent Overstreet
2012-05-10  3:11     ` Kent Overstreet
2012-05-10 18:34   ` [Bcache v13 00/16] Dan Williams
2012-05-10 18:34     ` Dan Williams
2012-05-18 10:06   ` Arnd Bergmann
2012-05-18 10:06     ` Arnd Bergmann
2012-05-30  8:29   ` Tejun Heo
2012-05-30  8:29     ` Tejun Heo
2012-05-30  8:54   ` Zhi Yong Wu
2012-05-30  8:54     ` Zhi Yong Wu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120523151538.GJ14943@redhat.com \
    --to=vgoyal-h+wxahxf7alqt0dzr+alfa@public.gmane.org \
    --cc=agk-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=koverstreet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    --cc=linux-bcache-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=tejun-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.