linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 2.4] back port msleep(), msleep_interruptible()
       [not found]   ` <415CD9D9.2000607@pobox.com>
@ 2004-10-30 22:22     ` maximilian attems
  2004-10-30 22:41       ` Jeff Garzik
  0 siblings, 1 reply; 11+ messages in thread
From: maximilian attems @ 2004-10-30 22:22 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, prism54-devel, netdev, Domen Puncer,
	linux-kernel

On Fri, 01 Oct 2004, Jeff Garzik wrote:

> I would rather see an msleep implementation in 2.4.x...

thanks for Domen Puncer at helping out.

msleep() and msleep_interruptible() as found in current 2.6 to 2.4.
therefor also adds the helper functions ssleep(), jiffies_to_msecs(),
jiffies_to_usecs(), msecs_to_jiffies().

compile and boot tested.


Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 include/linux/delay.h |    8 ++++++
 include/linux/time.h  |   41 +++++++++++++++++++++++++++++++++
 kernel/Makefile       |    3 +-
 kernel/timer.c        |   33 ++++++++++++++++++++++++++
 4 files changed, 84 insertions(+), 1 deletion(-)

diff -puN kernel/Makefile~add-msleep-2.4 kernel/Makefile
--- a/kernel/Makefile~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ b/kernel/Makefile	2004-10-30 22:50:45.000000000 +0200
@@ -9,7 +9,8 @@
 
 O_TARGET := kernel.o
 
-export-objs = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o printk.o
+export-objs   = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o \
+		printk.o timer.o
 
 obj-y     = sched.o dma.o fork.o exec_domain.o panic.o printk.o \
 	    module.o exit.o itimer.o info.o time.o softirq.o resource.o \
diff -puN kernel/timer.c~add-msleep-2.4 kernel/timer.c
--- a/kernel/timer.c~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ b/kernel/timer.c	2004-10-30 22:50:09.000000000 +0200
@@ -22,6 +22,7 @@
 #include <linux/smp_lock.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 
 #include <asm/uaccess.h>
 
@@ -874,3 +875,35 @@ asmlinkage long sys_nanosleep(struct tim
 	return 0;
 }
 
+/**
+ * msleep - sleep safely even with waitqueue interruptions
+ * @msecs: Time in milliseconds to sleep for
+ */
+void msleep(unsigned int msecs)
+{
+	unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+
+	while (timeout) {
+		set_current_state(TASK_UNINTERRUPTIBLE);
+		timeout = schedule_timeout(timeout);
+	}
+}
+
+EXPORT_SYMBOL(msleep);
+
+/**
+ * msleep_interruptible - sleep waiting for waitqueue interruptions
+ * @msecs: Time in milliseconds to sleep for
+ */
+unsigned long msleep_interruptible(unsigned int msecs)
+{
+	unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+
+	while (timeout && !signal_pending(current)) {
+		set_current_state(TASK_INTERRUPTIBLE);
+		timeout = schedule_timeout(timeout);
+	}
+	return jiffies_to_msecs(timeout);
+}
+
+EXPORT_SYMBOL(msleep_interruptible);
diff -puN include/linux/delay.h~add-msleep-2.4 include/linux/delay.h
--- a/include/linux/delay.h~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ b/include/linux/delay.h	2004-10-30 22:48:46.000000000 +0200
@@ -34,4 +34,12 @@ extern unsigned long loops_per_jiffy;
 	({unsigned long msec=(n); while (msec--) udelay(1000);}))
 #endif
 
+void msleep(unsigned int msecs);
+unsigned long msleep_interruptible(unsigned int msecs);
+
+static inline void ssleep(unsigned int seconds)
+{
+	msleep(seconds * 1000);
+}
+
 #endif /* defined(_LINUX_DELAY_H) */
diff -puN include/linux/time.h~add-msleep-2.4 include/linux/time.h
--- a/include/linux/time.h~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ b/include/linux/time.h	2004-10-30 22:48:46.000000000 +0200
@@ -126,4 +126,45 @@ struct	itimerval {
 	struct	timeval it_value;	/* current value */
 };
 
+/*
+ * Convert jiffies to milliseconds and back.
+ *
+ * Avoid unnecessary multiplications/divisions in the
+ * two most common HZ cases:
+ */
+static inline unsigned int jiffies_to_msecs(const unsigned long j)
+{
+#if HZ <= 1000 && !(1000 % HZ)
+	return (1000 / HZ) * j;
+#elif HZ > 1000 && !(HZ % 1000)
+	return (j + (HZ / 1000) - 1)/(HZ / 1000);
+#else
+	return (j * 1000) / HZ;
+#endif
+}
+
+static inline unsigned int jiffies_to_usecs(const unsigned long j)
+{
+#if HZ <= 1000 && !(1000 % HZ)
+	return (1000000 / HZ) * j;
+#elif HZ > 1000 && !(HZ % 1000)
+	return (j*1000 + (HZ - 1000))/(HZ / 1000);
+#else
+	return (j * 1000000) / HZ;
+#endif
+}
+
+static inline unsigned long msecs_to_jiffies(const unsigned int m)
+{
+	if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET))
+		return MAX_JIFFY_OFFSET;
+#if HZ <= 1000 && !(1000 % HZ)
+	return (m + (1000 / HZ) - 1) / (1000 / HZ);
+#elif HZ > 1000 && !(HZ % 1000)
+	return m * (HZ / 1000);
+#else
+	return (m * HZ + 999) / 1000;
+#endif
+}
+
 #endif



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

* Re: [patch 2.4] back port msleep(), msleep_interruptible()
  2004-10-30 22:22     ` [patch 2.4] back port msleep(), msleep_interruptible() maximilian attems
@ 2004-10-30 22:41       ` Jeff Garzik
  2004-10-30 22:59         ` [KJ] " Nish Aravamudan
                           ` (7 more replies)
  0 siblings, 8 replies; 11+ messages in thread
From: Jeff Garzik @ 2004-10-30 22:41 UTC (permalink / raw)
  To: maximilian attems
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, prism54-devel, netdev, Domen Puncer,
	linux-kernel

maximilian attems wrote:
> diff -puN include/linux/delay.h~add-msleep-2.4 include/linux/delay.h
> --- a/include/linux/delay.h~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
> +++ b/include/linux/delay.h	2004-10-30 22:48:46.000000000 +0200
> @@ -34,4 +34,12 @@ extern unsigned long loops_per_jiffy;
>  	({unsigned long msec=(n); while (msec--) udelay(1000);}))
>  #endif
>  
> +void msleep(unsigned int msecs);
> +unsigned long msleep_interruptible(unsigned int msecs);
> +
> +static inline void ssleep(unsigned int seconds)
[...]
> +static inline unsigned int jiffies_to_msecs(const unsigned long j)

> +static inline unsigned int jiffies_to_usecs(const unsigned long j)

> +static inline unsigned long msecs_to_jiffies(const unsigned int m)


I'm pretty sure more than one of these symbols clashes with a symbol 
defined locally in a driver.  I like the patch but we can't apply it 
until the impact on existing code is evaluated.

	Jeff



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

* Re: [KJ] Re: [patch 2.4] back port msleep(), msleep_interruptible()
  2004-10-30 22:41       ` Jeff Garzik
@ 2004-10-30 22:59         ` Nish Aravamudan
  2004-10-30 23:19           ` maximilian attems
  2004-10-31 14:43         ` maximilian attems
                           ` (6 subsequent siblings)
  7 siblings, 1 reply; 11+ messages in thread
From: Nish Aravamudan @ 2004-10-30 22:59 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: maximilian attems, netdev, Margit Schubert-While,
	kernel-janitors, mcgrof, prism54-devel, Domen Puncer,
	linux-kernel, hvr

On Sat, 30 Oct 2004 18:41:10 -0400, Jeff Garzik <jgarzik@pobox.com> wrote:
> maximilian attems wrote:
> > diff -puN include/linux/delay.h~add-msleep-2.4 include/linux/delay.h
> > --- a/include/linux/delay.h~add-msleep-2.4    2004-10-30 22:48:46.000000000 +0200
> > +++ b/include/linux/delay.h   2004-10-30 22:48:46.000000000 +0200
> > @@ -34,4 +34,12 @@ extern unsigned long loops_per_jiffy;
> >       ({unsigned long msec=(n); while (msec--) udelay(1000);}))
> >  #endif
> >
> > +void msleep(unsigned int msecs);
> > +unsigned long msleep_interruptible(unsigned int msecs);
> > +
> > +static inline void ssleep(unsigned int seconds)
> [...]
> > +static inline unsigned int jiffies_to_msecs(const unsigned long j)
> 
> > +static inline unsigned int jiffies_to_usecs(const unsigned long j)
> 
> > +static inline unsigned long msecs_to_jiffies(const unsigned int m)
> 
> 
> I'm pretty sure more than one of these symbols clashes with a symbol
> defined locally in a driver.  I like the patch but we can't apply it
> until the impact on existing code is evaluated.

More than likely much of the code cleanup that was done before I began
my patches, like removing custom msleep()s from drivers will need to
be done again, as Jeff points out.

-Nish

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

* Re: [KJ] Re: [patch 2.4] back port msleep(), msleep_interruptible()
  2004-10-30 22:59         ` [KJ] " Nish Aravamudan
@ 2004-10-30 23:19           ` maximilian attems
  0 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-30 23:19 UTC (permalink / raw)
  To: Nish Aravamudan
  Cc: Jeff Garzik, netdev, Margit Schubert-While, kernel-janitors,
	mcgrof, prism54-devel, Domen Puncer, linux-kernel, hvr

On Sat, 30 Oct 2004, Nish Aravamudan wrote:

> On Sat, 30 Oct 2004 18:41:10 -0400, Jeff Garzik <jgarzik@pobox.com> wrote:
> > maximilian attems wrote:
> > > diff -puN include/linux/delay.h~add-msleep-2.4 include/linux/delay.h
> > > --- a/include/linux/delay.h~add-msleep-2.4    2004-10-30 22:48:46.000000000 +0200
> > > +++ b/include/linux/delay.h   2004-10-30 22:48:46.000000000 +0200
> > > @@ -34,4 +34,12 @@ extern unsigned long loops_per_jiffy;
> > >       ({unsigned long msec=(n); while (msec--) udelay(1000);}))
> > >  #endif
> > >
> > > +void msleep(unsigned int msecs);
> > > +unsigned long msleep_interruptible(unsigned int msecs);
> > > +
> > > +static inline void ssleep(unsigned int seconds)
> > [...]
> > > +static inline unsigned int jiffies_to_msecs(const unsigned long j)
> > 
> > > +static inline unsigned int jiffies_to_usecs(const unsigned long j)
> > 
> > > +static inline unsigned long msecs_to_jiffies(const unsigned int m)
> > 
> > 
> > I'm pretty sure more than one of these symbols clashes with a symbol
> > defined locally in a driver.  I like the patch but we can't apply it
> > until the impact on existing code is evaluated.
> 
> More than likely much of the code cleanup that was done before I began
> my patches, like removing custom msleep()s from drivers will need to
> be done again, as Jeff points out.
> 
> -Nish

thanks Jeff for your quick response,
ooh i seee libata is defining an msleep().
so there seems to be need for it.

ok we'll come up with tougher patchset.

--
maks
kernel janitor  	http://janitor.kernelnewbies.org/


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

* Re: [patch 2.4] back port msleep(), msleep_interruptible()
  2004-10-30 22:41       ` Jeff Garzik
  2004-10-30 22:59         ` [KJ] " Nish Aravamudan
@ 2004-10-31 14:43         ` maximilian attems
  2004-10-31 14:44         ` [patch 1/6] " maximilian attems
                           ` (5 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:43 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel

On Sat, 30 Oct 2004, Jeff Garzik wrote:

> I'm pretty sure more than one of these symbols clashes with a symbol 
> defined locally in a driver.  I like the patch but we can't apply it 
> until the impact on existing code is evaluated.
> 
> 	Jeff

current 2.4 has no ssleep() nor jiffies_to_usecs() nor jiffies_to_msecs()
users. so no namespace conflicts on them.

i found a strange unsupported "msleep" syscall in
./arch/parisc/hpux/sys_hpux.c

left this one appart, i resend the msleep patch + 5 cleanup patches.
they remove duplicate msleep() or msecs_to_jiffies() definitions.
they are all compile tested, but the one touching drivers/char/shwdt.c
please show me if i forgot something.

--
maks
kernel janitor  	http://janitor.kernelnewbies.org/


ps dropped  prism54-devel@prism54.org from cc as this ml rejects my mails.

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

* [patch 1/6] back port msleep(), msleep_interruptible()
  2004-10-30 22:41       ` Jeff Garzik
  2004-10-30 22:59         ` [KJ] " Nish Aravamudan
  2004-10-31 14:43         ` maximilian attems
@ 2004-10-31 14:44         ` maximilian attems
  2004-10-31 14:44         ` [patch 2/6] libata remove duplicate definition msecs_to_jiffies() maximilian attems
                           ` (4 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:44 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel


Backport suggested by prism54 folks. idea acked by Jeff.
thanks for Domen Puncer at helping out.

Belows patch adds msleep() and msleep_interruptible() as found
in current 2.6 to 2.4.
therefor adds the helper functions ssleep(), jiffies_to_msecs(),
jiffies_to_usecs(), msecs_to_jiffies().

The namespace clashes for msleep() and msecs_to_jiffies()
are cleanup by the next 5 patches.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 linux-2.4.28-rc1-max/include/linux/delay.h |    8 +++++
 linux-2.4.28-rc1-max/include/linux/time.h  |   41 +++++++++++++++++++++++++++++
 linux-2.4.28-rc1-max/kernel/Makefile       |    3 +-
 linux-2.4.28-rc1-max/kernel/timer.c        |   33 +++++++++++++++++++++++
 4 files changed, 84 insertions(+), 1 deletion(-)

diff -puN kernel/Makefile~add-msleep-2.4 kernel/Makefile
--- linux-2.4.28-rc1/kernel/Makefile~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ linux-2.4.28-rc1-max/kernel/Makefile	2004-10-30 22:50:45.000000000 +0200
@@ -9,7 +9,8 @@
 
 O_TARGET := kernel.o
 
-export-objs = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o printk.o
+export-objs   = signal.o sys.o kmod.o context.o ksyms.o pm.o exec_domain.o \
+		printk.o timer.o
 
 obj-y     = sched.o dma.o fork.o exec_domain.o panic.o printk.o \
 	    module.o exit.o itimer.o info.o time.o softirq.o resource.o \
diff -puN kernel/timer.c~add-msleep-2.4 kernel/timer.c
--- linux-2.4.28-rc1/kernel/timer.c~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ linux-2.4.28-rc1-max/kernel/timer.c	2004-10-30 22:50:09.000000000 +0200
@@ -22,6 +22,7 @@
 #include <linux/smp_lock.h>
 #include <linux/interrupt.h>
 #include <linux/kernel_stat.h>
+#include <linux/module.h>
 
 #include <asm/uaccess.h>
 
@@ -874,3 +875,35 @@ asmlinkage long sys_nanosleep(struct tim
 	return 0;
 }
 
+/**
+ * msleep - sleep safely even with waitqueue interruptions
+ * @msecs: Time in milliseconds to sleep for
+ */
+void msleep(unsigned int msecs)
+{
+	unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+
+	while (timeout) {
+		set_current_state(TASK_UNINTERRUPTIBLE);
+		timeout = schedule_timeout(timeout);
+	}
+}
+
+EXPORT_SYMBOL(msleep);
+
+/**
+ * msleep_interruptible - sleep waiting for waitqueue interruptions
+ * @msecs: Time in milliseconds to sleep for
+ */
+unsigned long msleep_interruptible(unsigned int msecs)
+{
+	unsigned long timeout = msecs_to_jiffies(msecs) + 1;
+
+	while (timeout && !signal_pending(current)) {
+		set_current_state(TASK_INTERRUPTIBLE);
+		timeout = schedule_timeout(timeout);
+	}
+	return jiffies_to_msecs(timeout);
+}
+
+EXPORT_SYMBOL(msleep_interruptible);
diff -puN include/linux/delay.h~add-msleep-2.4 include/linux/delay.h
--- linux-2.4.28-rc1/include/linux/delay.h~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ linux-2.4.28-rc1-max/include/linux/delay.h	2004-10-30 22:48:46.000000000 +0200
@@ -34,4 +34,12 @@ extern unsigned long loops_per_jiffy;
 	({unsigned long msec=(n); while (msec--) udelay(1000);}))
 #endif
 
+void msleep(unsigned int msecs);
+unsigned long msleep_interruptible(unsigned int msecs);
+
+static inline void ssleep(unsigned int seconds)
+{
+	msleep(seconds * 1000);
+}
+
 #endif /* defined(_LINUX_DELAY_H) */
diff -puN include/linux/time.h~add-msleep-2.4 include/linux/time.h
--- linux-2.4.28-rc1/include/linux/time.h~add-msleep-2.4	2004-10-30 22:48:46.000000000 +0200
+++ linux-2.4.28-rc1-max/include/linux/time.h	2004-10-30 22:57:44.000000000 +0200
@@ -126,4 +126,45 @@ struct	itimerval {
 	struct	timeval it_value;	/* current value */
 };
 
+/*
+ * Convert jiffies to milliseconds and back.
+ *
+ * Avoid unnecessary multiplications/divisions in the
+ * two most common HZ cases:
+ */
+static inline unsigned int jiffies_to_msecs(const unsigned long j)
+{
+#if HZ <= 1000 && !(1000 % HZ)
+	return (1000 / HZ) * j;
+#elif HZ > 1000 && !(HZ % 1000)
+	return (j + (HZ / 1000) - 1)/(HZ / 1000);
+#else
+	return (j * 1000) / HZ;
+#endif
+}
+
+static inline unsigned int jiffies_to_usecs(const unsigned long j)
+{
+#if HZ <= 1000 && !(1000 % HZ)
+	return (1000000 / HZ) * j;
+#elif HZ > 1000 && !(HZ % 1000)
+	return (j*1000 + (HZ - 1000))/(HZ / 1000);
+#else
+	return (j * 1000000) / HZ;
+#endif
+}
+
+static inline unsigned long msecs_to_jiffies(const unsigned int m)
+{
+	if (m > jiffies_to_msecs(MAX_JIFFY_OFFSET))
+		return MAX_JIFFY_OFFSET;
+#if HZ <= 1000 && !(1000 % HZ)
+	return (m + (1000 / HZ) - 1) / (1000 / HZ);
+#elif HZ > 1000 && !(HZ % 1000)
+	return m * (HZ / 1000);
+#else
+	return (m * HZ + 999) / 1000;
+#endif
+}
+
 #endif
_

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

* [patch 2/6] libata remove duplicate definition msecs_to_jiffies()
  2004-10-30 22:41       ` Jeff Garzik
                           ` (2 preceding siblings ...)
  2004-10-31 14:44         ` [patch 1/6] " maximilian attems
@ 2004-10-31 14:44         ` maximilian attems
  2004-10-31 14:44         ` [patch 3/6] sx8 remove duplicate definition msleep(), msecs_to_jiffies() maximilian attems
                           ` (3 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:44 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel



remove duplicate definition of msecs_to_jiffies().
already includes delay.h

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 linux-2.4.28-rc1-max/include/linux/libata.h |    5 -----
 1 files changed, 5 deletions(-)

diff -puN include/linux/libata.h~remove-msecs_to_jiffies-libata.h include/linux/libata.h
--- linux-2.4.28-rc1/include/linux/libata.h~remove-msecs_to_jiffies-libata.h	2004-10-31 13:33:52.000000000 +0100
+++ linux-2.4.28-rc1-max/include/linux/libata.h	2004-10-31 13:36:16.000000000 +0100
@@ -419,11 +419,6 @@ extern int ata_std_bios_param(Disk * dis
 extern void libata_msleep(unsigned long msecs);
 
 
-static inline unsigned long msecs_to_jiffies(unsigned long msecs)
-{
-	return ((HZ * msecs + 999) / 1000);
-}
-
 static inline unsigned int ata_tag_valid(unsigned int tag)
 {
 	return (tag < ATA_MAX_QUEUE) ? 1 : 0;
_

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

* [patch 3/6] sx8 remove duplicate definition msleep(), msecs_to_jiffies()
  2004-10-30 22:41       ` Jeff Garzik
                           ` (3 preceding siblings ...)
  2004-10-31 14:44         ` [patch 2/6] libata remove duplicate definition msecs_to_jiffies() maximilian attems
@ 2004-10-31 14:44         ` maximilian attems
  2004-10-31 14:45         ` [patch 4/6] char/shwdt remove duplicate msecs_to_jiffies() maximilian attems
                           ` (2 subsequent siblings)
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:44 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel




remove duplicate definition msleep(), msecs_to_jiffies().
delay.h already included.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 linux-2.4.28-rc1-max/drivers/block/sx8.c |   11 -----------
 1 files changed, 11 deletions(-)

diff -puN drivers/block/sx8.c~remove-msleep+msecs_to_jiffies-drivers_block_sx8 drivers/block/sx8.c
--- linux-2.4.28-rc1/drivers/block/sx8.c~remove-msleep+msecs_to_jiffies-drivers_block_sx8	2004-10-31 13:37:56.000000000 +0100
+++ linux-2.4.28-rc1-max/drivers/block/sx8.c	2004-10-31 13:38:56.000000000 +0100
@@ -548,17 +548,6 @@ static int carm_bdev_ioctl(struct inode 
 	return -EOPNOTSUPP;
 }
 
-static inline unsigned long msecs_to_jiffies(unsigned long msecs)
-{
-	return ((HZ * msecs + 999) / 1000);
-}
-
-static void msleep(unsigned long msecs)
-{
-	set_current_state(TASK_UNINTERRUPTIBLE);
-	schedule_timeout(msecs_to_jiffies(msecs) + 1);
-}
-
 static const u32 msg_sizes[] = { 32, 64, 128, CARM_MSG_SIZE };
 
 static inline int carm_lookup_bucket(u32 msg_size)
_


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

* [patch 4/6] char/shwdt remove duplicate msecs_to_jiffies()
  2004-10-30 22:41       ` Jeff Garzik
                           ` (4 preceding siblings ...)
  2004-10-31 14:44         ` [patch 3/6] sx8 remove duplicate definition msleep(), msecs_to_jiffies() maximilian attems
@ 2004-10-31 14:45         ` maximilian attems
  2004-10-31 14:45         ` [patch 5/6] sata_promise remove duplicate msleep() definition maximilian attems
  2004-10-31 14:45         ` [patch 6/6] libata remove msleep_libata() maximilian attems
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:45 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel



remove duplicate msecs_to_jiffies() definition.
add include <delay.h>.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 linux-2.4.28-rc1-max/drivers/char/shwdt.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN drivers/char/shwdt.c~remove-msecs_to_jiffies-drivers_char_shwdt drivers/char/shwdt.c
--- linux-2.4.28-rc1/drivers/char/shwdt.c~remove-msecs_to_jiffies-drivers_char_shwdt	2004-10-31 13:40:49.000000000 +0100
+++ linux-2.4.28-rc1-max/drivers/char/shwdt.c	2004-10-31 13:42:05.000000000 +0100
@@ -27,6 +27,7 @@
 #include <linux/reboot.h>
 #include <linux/notifier.h>
 #include <linux/ioport.h>
+#include <linux/delay.h>
 
 #include <asm/io.h>
 #include <asm/uaccess.h>
@@ -113,7 +114,6 @@
  */
 static int clock_division_ratio = WTCSR_CKS_4096;
 
-#define msecs_to_jiffies(msecs)	(jiffies + (HZ * msecs + 9999) / 10000)
 #define next_ping_period(cks)	msecs_to_jiffies(cks - 4)
 
 static unsigned long shwdt_is_open;
_

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

* [patch 5/6] sata_promise remove duplicate msleep() definition
  2004-10-30 22:41       ` Jeff Garzik
                           ` (5 preceding siblings ...)
  2004-10-31 14:45         ` [patch 4/6] char/shwdt remove duplicate msecs_to_jiffies() maximilian attems
@ 2004-10-31 14:45         ` maximilian attems
  2004-10-31 14:45         ` [patch 6/6] libata remove msleep_libata() maximilian attems
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:45 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel

remove now duplicate define.
driver already includes delay.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>


---

 linux-2.4.28-rc1-max/drivers/scsi/sata_promise.c |    2 --
 1 files changed, 2 deletions(-)

diff -puN drivers/scsi/sata_promise.c~remove-msleep-drivers_scsi_sata_promise drivers/scsi/sata_promise.c
--- linux-2.4.28-rc1/drivers/scsi/sata_promise.c~remove-msleep-drivers_scsi_sata_promise	2004-10-31 13:59:39.000000000 +0100
+++ linux-2.4.28-rc1-max/drivers/scsi/sata_promise.c	2004-10-31 14:00:12.000000000 +0100
@@ -42,8 +42,6 @@
 #define DRV_NAME	"sata_promise"
 #define DRV_VERSION	"1.00"
 
-#define msleep libata_msleep	/* 2.4-specific */
-
 enum {
 	PDC_PKT_SUBMIT		= 0x40, /* Command packet pointer addr */
 	PDC_INT_SEQMASK		= 0x40,	/* Mask of asserted SEQ INTs */
_

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

* [patch 6/6] libata remove msleep_libata()
  2004-10-30 22:41       ` Jeff Garzik
                           ` (6 preceding siblings ...)
  2004-10-31 14:45         ` [patch 5/6] sata_promise remove duplicate msleep() definition maximilian attems
@ 2004-10-31 14:45         ` maximilian attems
  7 siblings, 0 replies; 11+ messages in thread
From: maximilian attems @ 2004-10-31 14:45 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: Margit Schubert-While, Nishanth Aravamudan, hvr, mcgrof,
	kernel-janitors, netdev, Domen Puncer, linux-kernel




remove msleep_libata(), now that msleep() is backported.
also remove duplicate msleep() definition.
delay.h is already included.

Signed-off-by: Maximilian Attems <janitor@sternwelten.at>



---

 linux-2.4.28-rc1-max/drivers/scsi/libata-core.c |   23 -----------------------
 linux-2.4.28-rc1-max/include/linux/libata.h     |    1 -
 2 files changed, 24 deletions(-)

diff -puN drivers/scsi/libata-core.c~remove-libata_msleep drivers/scsi/libata-core.c
--- linux-2.4.28-rc1/drivers/scsi/libata-core.c~remove-libata_msleep	2004-10-31 14:06:49.000000000 +0100
+++ linux-2.4.28-rc1-max/drivers/scsi/libata-core.c	2004-10-31 14:08:41.000000000 +0100
@@ -67,28 +67,6 @@ MODULE_DESCRIPTION("Library module for A
 MODULE_LICENSE("GPL");
 
 /**
- *	msleep - sleep for a number of milliseconds
- *	@msecs: number of milliseconds to sleep
- *
- *	Issues schedule_timeout call for the specified number
- *	of milliseconds.
- *
- *	LOCKING:
- *	None.
- */
-
-static void msleep(unsigned long msecs)
-{
-	set_current_state(TASK_UNINTERRUPTIBLE);
-	schedule_timeout(msecs_to_jiffies(msecs) + 1);
-}
-
-void libata_msleep(unsigned long msecs)
-{
-	msleep(msecs);
-}
-
-/**
  *	ata_tf_load - send taskfile registers to host controller
  *	@ap: Port to which output is sent
  *	@tf: ATA taskfile register set
@@ -3697,7 +3675,6 @@ EXPORT_SYMBOL_GPL(ata_scsi_queuecmd);
 EXPORT_SYMBOL_GPL(ata_scsi_error);
 EXPORT_SYMBOL_GPL(ata_scsi_detect);
 EXPORT_SYMBOL_GPL(ata_add_to_probe_list);
-EXPORT_SYMBOL_GPL(libata_msleep);
 EXPORT_SYMBOL_GPL(ata_scsi_release);
 EXPORT_SYMBOL_GPL(ata_host_intr);
 EXPORT_SYMBOL_GPL(ata_dev_classify);
diff -puN include/linux/libata.h~remove-libata_msleep include/linux/libata.h
--- linux-2.4.28-rc1/include/linux/libata.h~remove-libata_msleep	2004-10-31 14:06:49.000000000 +0100
+++ linux-2.4.28-rc1-max/include/linux/libata.h	2004-10-31 14:09:08.000000000 +0100
@@ -416,7 +416,6 @@ extern void ata_qc_complete(struct ata_q
 extern void ata_eng_timeout(struct ata_port *ap);
 extern void ata_add_to_probe_list (struct ata_probe_ent *probe_ent);
 extern int ata_std_bios_param(Disk * disk, kdev_t dev, int *ip);
-extern void libata_msleep(unsigned long msecs);
 
 
 static inline unsigned int ata_tag_valid(unsigned int tag)
_

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

end of thread, other threads:[~2004-10-31 14:53 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20040923221303.GB13244@us.ibm.com>
     [not found] ` <5.1.0.14.2.20040924074745.00b1cd40@pop.t-online.de>
     [not found]   ` <415CD9D9.2000607@pobox.com>
2004-10-30 22:22     ` [patch 2.4] back port msleep(), msleep_interruptible() maximilian attems
2004-10-30 22:41       ` Jeff Garzik
2004-10-30 22:59         ` [KJ] " Nish Aravamudan
2004-10-30 23:19           ` maximilian attems
2004-10-31 14:43         ` maximilian attems
2004-10-31 14:44         ` [patch 1/6] " maximilian attems
2004-10-31 14:44         ` [patch 2/6] libata remove duplicate definition msecs_to_jiffies() maximilian attems
2004-10-31 14:44         ` [patch 3/6] sx8 remove duplicate definition msleep(), msecs_to_jiffies() maximilian attems
2004-10-31 14:45         ` [patch 4/6] char/shwdt remove duplicate msecs_to_jiffies() maximilian attems
2004-10-31 14:45         ` [patch 5/6] sata_promise remove duplicate msleep() definition maximilian attems
2004-10-31 14:45         ` [patch 6/6] libata remove msleep_libata() maximilian attems

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 NNTP newsgroup(s).