All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gautham R Shenoy <ego@in.ibm.com>
To: Randy Dunlap <randy.dunlap@oracle.com>
Cc: ego@in.ibm.com, akpm@osdl.org, torvalds@osdl.org,
	linux-kernel@vger.kernel.org, vatsa@in.ibm.com,
	dipankar@in.ibm.com, davej@redhat.com, mingo@elte.hu,
	kiran@scalex86.org
Subject: Re: [PATCH 1/4] Extend notifier_call_chain to count nr_calls made.
Date: Wed, 15 Nov 2006 10:29:33 +0530	[thread overview]
Message-ID: <20061115045933.GA7207@in.ibm.com> (raw)
In-Reply-To: <20061114101806.a14ef7b7.randy.dunlap@oracle.com>

On Tue, Nov 14, 2006 at 10:18:06AM -0800, Randy Dunlap wrote:
> On Tue, 14 Nov 2006 17:50:51 +0530 Gautham R Shenoy wrote:
> 
> > Provide notifier_call_chain with an option to call only a specified number of 
> > notifiers and also record the number of call to notifiers made.
> > 
> > The need for this enhancement was identified in the post entitled 
> > "Slab - Eliminate lock_cpu_hotplug from slab" 
> > (http://lkml.org/lkml/2006/10/28/92) by Ravikiran G Thirumalai and 
> > Andrew Morton.
> > 
> > This patch adds two additional parameters to notifier_call_chain API namely 
> >  - int nr_to_calls : Number of notifier_functions to be called. 
> >  		     The don't care value is -1.
> > 
> >  - unsigned int *nr_calls : Records the total number of notifier_funtions 
> > 			    called by notifier_call_chain. The don't care
> > 			    value is NULL.
> 
> Those could (should?) be the same data type.

Whoops! Yes, they should be the same. 
I was trying to solve this problem with only one parameter 
(which we can, but the signature would look very confusing) and was
using the unsigned int* there. Will change it to int *. 
Thanks for pointing that out.
> 
> > Credit : Andrew Morton <akpm@osdl.org> 
> > Signed-off-by: Gautham R Shenoy <ego@in.ibm.com>
> > 
> > --
> >  include/linux/notifier.h |    8 +++
> >  kernel/sys.c             |   97 +++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 16 deletions(-)
> > 
> > Index: hotplug/kernel/sys.c
> > ===================================================================
> > --- hotplug.orig/kernel/sys.c
> > +++ hotplug/kernel/sys.c
> > @@ -134,19 +134,41 @@ static int notifier_chain_unregister(str
> >  	return -ENOENT;
> >  }
> >  
> > +/*
> > + * notifier_call_chain - Informs the registered notifiers about an event.
> > + *
> > + *	@nl:		Pointer to head of the blocking notifier chain
> > + *	@val:		Value passed unmodified to notifier function
> > + *	@v:		Pointer passed unmodified to notifier function
> > + *	@nr_to_call:	Number of notifier functions to be called. Don't care
> > + *		     	value of this parameter is -1.
> > + *	@nr_calls:	Records the number of notifications sent. Don't care
> > + *		   	value of this field is NULL.
> > + *
> > + * 	RETURN VALUE:	notifier_call_chain returns the value returned by the
> > + *			last notifier function called.
> > + */
> 
> You can make that comment block be kernel-doc format by using
> /**
> as the comment introduction and removing the blank line after the
> function name & short description.

Will do that. But out of curiousity, do the comments of even static functions
get reflected in kernel doc ? :?

> 
> >  static int __kprobes notifier_call_chain(struct notifier_block **nl,
> > -		unsigned long val, void *v)
> > +					unsigned long val, void *v,
> > +					int nr_to_call,	unsigned int *nr_calls)
> >  {
> >  	int ret = NOTIFY_DONE;
> >  	struct notifier_block *nb, *next_nb;
> ...
> >  }
> > @@ -205,10 +227,13 @@ int atomic_notifier_chain_unregister(str
> >  EXPORT_SYMBOL_GPL(atomic_notifier_chain_unregister);
> >  
> >  /**
> > - *	atomic_notifier_call_chain - Call functions in an atomic notifier chain
> > + *	__atomic_notifier_call_chain - Call functions in an atomic notifier
> > + *				       chain
> 
> Don't break the short function description line; kernel-doc does not
> support that.

Ok. Didn't know that. Will correct it.

> 
> >   *	@nh: Pointer to head of the atomic notifier chain

[snip!]

> > Index: hotplug/include/linux/notifier.h
> > ===================================================================
> > --- hotplug.orig/include/linux/notifier.h
> > +++ hotplug/include/linux/notifier.h
> > @@ -132,12 +132,20 @@ extern int srcu_notifier_chain_unregiste
> >  
> >  extern int atomic_notifier_call_chain(struct atomic_notifier_head *,
> >  		unsigned long val, void *v);
> > +extern int __atomic_notifier_call_chain(struct atomic_notifier_head *,
> 
> While you are changing these lines, please put a prototype parameter
> name for all parameters; i.e., add something like "notifier" 
> or "nh" after the '*' on all of these.
>

Yup. Will do.

 
> ---
> ~Randy

thanks,
gautham.
-- 
Gautham R Shenoy
Linux Technology Center
IBM India.
"Freedom comes with a price tag of responsibility, which is still a bargain,
because Freedom is priceless!"

  reply	other threads:[~2006-11-15  5:00 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-14 12:18 [RFC 0/4] Cpu-Hotplug: Use per subsystem hot-cpu mutexes Gautham R Shenoy
2006-11-14 12:20 ` [PATCH 1/4] Extend notifier_call_chain to count nr_calls made Gautham R Shenoy
2006-11-14 12:22   ` [PATCH 2/4] Define and use new events,CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE Gautham R Shenoy
2006-11-14 12:23     ` [PATCH 3/4] Eliminate lock_cpu_hotplug in kernel/sched.c Gautham R Shenoy
2006-11-14 12:24       ` [PATCH 4/4] Handle CPU_LOCK_ACQUIRE and CPU_LOCK_RELEASE in workqueue_cpu_callback Gautham R Shenoy
2006-11-14 18:18   ` [PATCH 1/4] Extend notifier_call_chain to count nr_calls made Randy Dunlap
2006-11-15  4:59     ` Gautham R Shenoy [this message]
2006-11-15  6:00       ` Randy Dunlap
2006-11-15  8:29     ` [PATCH 1-fix/4] Fix extend " Gautham R Shenoy
2006-11-21  6:19   ` [PATCH 1/4] Extend " Andrew Morton
2006-11-22  6:13     ` Gautham R Shenoy
2006-11-15  0:47 ` [RFC 0/4] Cpu-Hotplug: Use per subsystem hot-cpu mutexes Andrew Morton

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=20061115045933.GA7207@in.ibm.com \
    --to=ego@in.ibm.com \
    --cc=akpm@osdl.org \
    --cc=davej@redhat.com \
    --cc=dipankar@in.ibm.com \
    --cc=kiran@scalex86.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=randy.dunlap@oracle.com \
    --cc=torvalds@osdl.org \
    --cc=vatsa@in.ibm.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.