public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Kevin Diggs <kevdig@hypersurf.com>
To: linux-kernel@vger.kernel.org
Subject: [Fwd: Corrections please ...]
Date: Mon, 18 Aug 2008 18:53:51 -0700	[thread overview]
Message-ID: <48AA27AF.9070407@hypersurf.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 84 bytes --]

Could someone ... anyone take a look at these kernel doc additions?

Thanks!

kevin

[-- Attachment #2: Corrections please ... --]
[-- Type: message/rfc822, Size: 4994 bytes --]

From: Kevin Diggs <kevdig@hypersurf.com>
To: linuxppc-dev@ozlabs.org
Subject: Corrections please ...
Date: Mon, 18 Aug 2008 13:59:50 -0700
Message-ID: <48A9E2C6.1030205@hypersurf.com>

Could I get any needed corrections on this. Especially on the "???"

[kevdig@PowerMac8600B linux-2.6.26]$ diff -U3 
include/linux/completion.{h.orig,h}|more
--- include/linux/completion.h.orig     2008-08-13 00:56:52.000000000 -0700
+++ include/linux/completion.h  2008-08-18 13:00:23.000000000 -0700
@@ -10,6 +10,16 @@

  #include <linux/wait.h>

+/**
+ * struct completion - structure used to maintain state for a "completion"
+ * @done:  counting variable used to signal completion
+ * @wait:  internal wait queue head; used for locking and synchronization
+ *
+ * This is the structure used to maintain the state for a "completion". See
+ * also:  complete(), wait_for_completion() (and friends _timeout,
+ * _interruptible, _interruptible_timeout, and _killable), 
init_completion(),
+ * and macros DECLARE_COMPLETION() and INIT_COMPLETION().
+ */
  struct completion {
         unsigned int done;
         wait_queue_head_t wait;
@@ -36,6 +46,13 @@
  # define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)
  #endif

+/**
+ * init_completion: - Initialize a dynamically allocated completion
+ * @x:  completion structure that is to be initialized
+ *
+ * This inline function will initialize a dynamically created completion
+ * structure.
+ */
  static inline void init_completion(struct completion *x)
  {
         x->done = 0;


--- kernel/sched.c.orig 2008-08-13 02:22:42.000000000 -0700
+++ kernel/sched.c      2008-08-18 13:31:03.000000000 -0700
@@ -4363,6 +4363,13 @@
  }
  EXPORT_SYMBOL_GPL(__wake_up_sync);     /* For internal use only */

+/**
+ * complete: - signals a single thread waiting on this completion
+ * @x:  holds the state of this particular completion
+ *
+ * This will wake up a single thread waiting on this completion. If 
multiple
+ * threads are waiting ???
+ */
  void complete(struct completion *x)
  {
         unsigned long flags;
@@ -4374,6 +4381,12 @@
  }
  EXPORT_SYMBOL(complete);

+/**
+ * complete_all: - signals all threads waiting on this completion
+ * @x:  holds the state of this particular completion
+ *
+ * This will wake up all threads waiting on this particular completion 
event.
+ */
  void complete_all(struct completion *x)
  {
         unsigned long flags;
@@ -4425,12 +4438,27 @@
         return timeout;
  }

+/**
+ * wait_for_completion: - waits for completion of a task
+ * @x:  holds the state of this particular completion
+ *
+ * This waits to be signaled for completion of a specific task. It is NOT
+ * interruptible and there is no timeout.
+ */
  void __sched wait_for_completion(struct completion *x)
  {
         wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_UNINTERRUPTIBLE);
  }
  EXPORT_SYMBOL(wait_for_completion);

+/**
+ * wait_for_completion_timeout: - waits for completion of a task 
(w/timeout)
+ * @x:  holds the state of this particular completion
+ * @timeout:  timeout value in jiffies
+ *
+ * This waits to be signaled for completion of a specific task. It is NOT
+ * interruptible. But there is a timeout in jiffies.
+ */
  unsigned long __sched
  wait_for_completion_timeout(struct completion *x, unsigned long timeout)
  {
@@ -4438,6 +4466,13 @@
  }
  EXPORT_SYMBOL(wait_for_completion_timeout);

+/**
+ * wait_for_completion_interruptible: - waits for completion of a task 
(w/intr)
+ * @x:  holds the state of this particular completion
+ *
+ * This waits to be signaled for completion of a specific task. It is
+ * interruptible.
+ */
  int __sched wait_for_completion_interruptible(struct completion *x)
  {
         long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, 
TASK_INTERRUPTIBLE);
@@ -4447,6 +4482,14 @@
  }
  EXPORT_SYMBOL(wait_for_completion_interruptible);

+/**
+ * wait_for_completion_interruptible_timeout: - waits for completion 
(w/(to,int
r))
+ * @x:  holds the state of this particular completion
+ * @timeout:  timeout value in jiffies
+ *
+ * This waits to be signaled for completion of a specific task. It is
+ * interruptible. And there is a timeout in jiffies.
+ */
  unsigned long __sched
  wait_for_completion_interruptible_timeout(struct completion *x,
                                           unsigned long timeout)
@@ -4455,6 +4498,13 @@
  }
  EXPORT_SYMBOL(wait_for_completion_interruptible_timeout);

+/**
+ * wait_for_completion_killable: - waits for completion of a task 
(killable)
+ * @x:  holds the state of this particular completion
+ *
+ * This waits to be signaled for completion of a specific task. It is
+ * killable (???).
+ */
  int __sched wait_for_completion_killable(struct completion *x)
  {
         long t = wait_for_common(x, MAX_SCHEDULE_TIMEOUT, TASK_KILLABLE);


             reply	other threads:[~2008-08-19  2:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-19  1:53 Kevin Diggs [this message]
2008-08-19  2:41 ` [Fwd: Corrections please ...] Dave Chinner
2008-08-19  8:07   ` Kevin Diggs
2008-08-19 12:03     ` Stefan Richter
2008-08-19 16:15     ` Marcin Slusarz

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=48AA27AF.9070407@hypersurf.com \
    --to=kevdig@hypersurf.com \
    --cc=linux-kernel@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox