All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dave Hansen <haveblue@us.ibm.com>
To: Gerrit Huizenga <gh@us.ibm.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@osdl.org>, Rik van Riel <riel@redhat.com>,
	Chris Mason <mason@suse.com>,
	ckrm-tech <ckrm-tech@lists.sourceforge.net>
Subject: Re: [PATCH] CKRM: 8/10 CKRM:  Resource controller for prioritizing inbound network requests
Date: Mon, 29 Nov 2004 12:28:58 -0800	[thread overview]
Message-ID: <1101760138.9548.6.camel@localhost> (raw)
In-Reply-To: <E1CYqcL-0005A1-00@w-gerrit.beaverton.ibm.com>

You sure do like C++ comments, don't you :)

On Mon, 2004-11-29 at 10:51, Gerrit Huizenga wrote:
> +#ifdef CONFIG_ACCEPT_QUEUES
> +#define TCP_ACCEPTQ_SHARE	13	/* Set accept queue share */
> +#endif

Why does a #define need an #ifdef?  It's not like there's object size
bloat from it.

> +#ifdef CONFIG_ACCEPT_QUEUES
> +
> +#define NUM_ACCEPT_QUEUES	8 	/* Must be power of 2 */
> +
> +struct tcp_acceptq_info {
> +	unsigned char acceptq_shares;
> +	unsigned long acceptq_wait_time;
> +	unsigned int acceptq_qcount;
> +	unsigned int acceptq_count;
> +};
> +#endif

Same here.  Are you just trying to make sure that uses of those
variables don't happen outside of your other #ifdef'd code?

> +struct tcp_listen_opt
> +{
> +	u8			max_qlen_log;	/* log_2 of maximal queued SYNs */
> +	int			qlen;
> +#ifdef CONFIG_ACCEPT_QUEUES
> +	int			qlen_young[NUM_ACCEPT_QUEUES];
> +#else
> +	int			qlen_young;
> +#endif
> +	int			clock_hand;
> +	u32			hash_rnd;
> +	struct open_request	*syn_table[TCP_SYNQ_HSIZE];
> +};

Icky.  How about just making NUM_ACCEPT_QUEUES=1 when your option is
off?  Should all compile down to the same thing.

> +		if (prev_class < 0) {
> +			req->dl_next = tp->accept_queue;
> +			tp->accept_queue = req;
> +		}
> +		else {
> +			req->dl_next = tp->acceptq[prev_class].aq_tail->dl_next;
> +			tp->acceptq[prev_class].aq_tail->dl_next = req;
> +		}
> +	}

Documentation/CodingStyle.  else and brakets on one line, please.

> +static void *laq_res_alloc(struct ckrm_core_class *core,
> +			   struct ckrm_core_class *parent)
> +{
...
> +	res = kmalloc(sizeof(ckrm_laq_res_t), GFP_ATOMIC);
> +	if (res) {
> +		memset(res, 0, sizeof(res));
> +		spin_lock_init(&res->reslock);
> +		laq_res_hold(res);
> +		res->my_depth = pdepth;
> +		if (pdepth == 2)	// listen class
> +			res->my_id = 0;
> +		else if (pdepth == 3)
> +			res->my_id = atoi(laq_get_name(core));
> +		res->core = core;
> +		res->pcore = parent;
> +
> +		// rescls in place, now initialize contents other than 
> +		// hierarchy pointers
> +		laq_res_initcls(res);	// acts as initialising value
> +	}
> +
> +	return res;
> +}

Generally, these look nicer if you do this:

        res = kmalloc()
        if (!res)
        	return res;
        
        ...
        stuff from old if() here
        ...
        
-- Dave


  reply	other threads:[~2004-11-29 20:31 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-29 18:51 [PATCH] CKRM: 8/10 CKRM: Resource controller for prioritizing inbound network requests Gerrit Huizenga
2004-11-29 20:28 ` Dave Hansen [this message]
2004-11-30 16:40 ` [ckrm-tech] " James Morris

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=1101760138.9548.6.camel@localhost \
    --to=haveblue@us.ibm.com \
    --cc=akpm@osdl.org \
    --cc=ckrm-tech@lists.sourceforge.net \
    --cc=gh@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mason@suse.com \
    --cc=riel@redhat.com \
    /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.