All of lore.kernel.org
 help / color / mirror / Atom feed
* [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
@ 2004-09-15 21:21 Nishanth Aravamudan
  2004-09-24 17:24 ` Nishanth Aravamudan
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Nishanth Aravamudan @ 2004-09-15 21:21 UTC (permalink / raw)
  To: kernel-janitors

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

Any comments would be appreciated. 

Description: Use msleep_interruptible() instead of schedule_timeout()
to guarantee the task delays as expected.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

--- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
+++ 2.6.9-rc2/drivers/char/cyclades.c	2004-09-15 14:20:23.000000000 -0700
@@ -2717,8 +2717,7 @@ cy_wait_until_sent(struct tty_struct *tt
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
 	    printk("Not clean (jiff=%lu)...", jiffies);
 #endif
-	    current->state = TASK_INTERRUPTIBLE;
-	    schedule_timeout(char_time);
+	    msleep_interruptible(msecs_to_jiffies(char_time));
 	    if (signal_pending(current))
 		break;
 	    if (timeout && time_after(jiffies, orig_jiffies + timeout))
@@ -2729,8 +2728,7 @@ cy_wait_until_sent(struct tty_struct *tt
 	// Nothing to do!
     }
     /* Run one more char cycle */
-    current->state = TASK_INTERRUPTIBLE;
-    schedule_timeout(char_time * 5);
+    msleep_interruptible(jiffies_to_msecs(char_time * 5));
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
     printk("Clean (jiff=%lu)...done\n", jiffies);
 #endif
@@ -2860,8 +2858,7 @@ cy_close(struct tty_struct *tty, struct 
     if (info->blocked_open) {
 	CY_UNLOCK(info, flags);
         if (info->close_delay) {
-            current->state = TASK_INTERRUPTIBLE;
-            schedule_timeout(info->close_delay);
+            msleep_interruptible(jiffies_to_msecs(info->close_delay));
         }
         wake_up_interruptible(&info->open_wait);
 	CY_LOCK(info, flags);

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
@ 2004-09-24 17:24 ` Nishanth Aravamudan
  2004-09-30 16:48 ` Marcelo Tosatti
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Nishanth Aravamudan @ 2004-09-24 17:24 UTC (permalink / raw)
  To: kernel-janitors

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

On Wed, Sep 15, 2004 at 02:21:55PM -0700, Nishanth Aravamudan wrote:
> Any comments would be appreciated. 
> 
> Description: Use msleep_interruptible() instead of schedule_timeout()
> to guarantee the task delays as expected.
> 
> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> 
> --- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
> +++ 2.6.9-rc2/drivers/char/cyclades.c	2004-09-15 14:20:23.000000000 -0700
> @@ -2717,8 +2717,7 @@ cy_wait_until_sent(struct tty_struct *tt
>  #ifdef CY_DEBUG_WAIT_UNTIL_SENT
>  	    printk("Not clean (jiff=%lu)...", jiffies);
>  #endif
> -	    current->state = TASK_INTERRUPTIBLE;
> -	    schedule_timeout(char_time);
> +	    msleep_interruptible(msecs_to_jiffies(char_time));

The original patch mistakenly used the msecs_to_jiffies() macro when it
should have used the jiffies_to_msecs() macro. Please find the corrected
patch below.


--- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
+++ 2.6.9-rc2/drivers/char/cyclades.c	2004-09-24 10:23:05.000000000 -0700
@@ -2717,8 +2717,7 @@ cy_wait_until_sent(struct tty_struct *tt
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
 	    printk("Not clean (jiff=%lu)...", jiffies);
 #endif
-	    current->state = TASK_INTERRUPTIBLE;
-	    schedule_timeout(char_time);
+	    msleep_interruptible(jiffies_to_msecs(char_time));
 	    if (signal_pending(current))
 		break;
 	    if (timeout && time_after(jiffies, orig_jiffies + timeout))
@@ -2729,8 +2728,7 @@ cy_wait_until_sent(struct tty_struct *tt
 	// Nothing to do!
     }
     /* Run one more char cycle */
-    current->state = TASK_INTERRUPTIBLE;
-    schedule_timeout(char_time * 5);
+    msleep_interruptible(jiffies_to_msecs(char_time * 5));
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
     printk("Clean (jiff=%lu)...done\n", jiffies);
 #endif
@@ -2860,8 +2858,7 @@ cy_close(struct tty_struct *tty, struct 
     if (info->blocked_open) {
 	CY_UNLOCK(info, flags);
         if (info->close_delay) {
-            current->state = TASK_INTERRUPTIBLE;
-            schedule_timeout(info->close_delay);
+            msleep_interruptible(jiffies_to_msecs(info->close_delay));
         }
         wake_up_interruptible(&info->open_wait);
 	CY_LOCK(info, flags);

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
  2004-09-24 17:24 ` Nishanth Aravamudan
@ 2004-09-30 16:48 ` Marcelo Tosatti
  2004-10-01 19:07 ` Marcelo Tosatti
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Marcelo Tosatti @ 2004-09-30 16:48 UTC (permalink / raw)
  To: kernel-janitors

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


Nishanth,


Well have to convert from jiffies (char_time) to msecs, just to 
convert it back again to jiffies in msleep_interruptible().

Is this patch actually fixing any problem?

Thanks and sorry for the long delay

> The original patch mistakenly used the msecs_to_jiffies() macro when it
> should have used the jiffies_to_msecs() macro. Please find the corrected
> patch below.
> 
> 
> --- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
> +++ 2.6.9-rc2/drivers/char/cyclades.c	2004-09-24 10:23:05.000000000 -0700
> @@ -2717,8 +2717,7 @@ cy_wait_until_sent(struct tty_struct *tt
>  #ifdef CY_DEBUG_WAIT_UNTIL_SENT
>  	    printk("Not clean (jiff=%lu)...", jiffies);
>  #endif
> -	    current->state = TASK_INTERRUPTIBLE;
> -	    schedule_timeout(char_time);
> +	    msleep_interruptible(jiffies_to_msecs(char_time));
>  	    if (signal_pending(current))
>  		break;
>  	    if (timeout && time_after(jiffies, orig_jiffies + timeout))
> @@ -2729,8 +2728,7 @@ cy_wait_until_sent(struct tty_struct *tt
>  	// Nothing to do!
>      }
>      /* Run one more char cycle */
> -    current->state = TASK_INTERRUPTIBLE;
> -    schedule_timeout(char_time * 5);
> +    msleep_interruptible(jiffies_to_msecs(char_time * 5));
>  #ifdef CY_DEBUG_WAIT_UNTIL_SENT
>      printk("Clean (jiff=%lu)...done\n", jiffies);
>  #endif
> @@ -2860,8 +2858,7 @@ cy_close(struct tty_struct *tty, struct 
>      if (info->blocked_open) {
>  	CY_UNLOCK(info, flags);
>          if (info->close_delay) {
> -            current->state = TASK_INTERRUPTIBLE;
> -            schedule_timeout(info->close_delay);
> +            msleep_interruptible(jiffies_to_msecs(info->close_delay));
>          }
>          wake_up_interruptible(&info->open_wait);
>  	CY_LOCK(info, flags);

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
  2004-09-24 17:24 ` Nishanth Aravamudan
  2004-09-30 16:48 ` Marcelo Tosatti
@ 2004-10-01 19:07 ` Marcelo Tosatti
  2004-10-01 20:10 ` Nishanth Aravamudan
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Marcelo Tosatti @ 2004-10-01 19:07 UTC (permalink / raw)
  To: kernel-janitors

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

On Fri, Oct 01, 2004 at 01:10:31PM -0700, Nishanth Aravamudan wrote:
> On Thu, Sep 30, 2004 at 01:48:18PM -0300, Marcelo Tosatti wrote:
> > Well have to convert from jiffies (char_time) to msecs, just to 
> > convert it back again to jiffies in msleep_interruptible().
> > 
> > Is this patch actually fixing any problem?
> 
> So there are a few things here:
> 
> 1) I think the overhead of the conversions is very small in comparison
> with the eventual call to schedule() and such, so I don't think it's
> that big of a deal -- *please* correct me if I am wrong, though.

No you are right the overhead is very small - I'm just trying
to find a good reason to apply the change.

> 2) I am currently trying to determine if it might be possible for the
> timeout value (char_time, and I guess by extension, timeout) to be
> expressed in milliseconds instead of jiffies. If you have any input on
> that, Marcelo (or anyone from the list), I would really appreciate it.

I do not like the idea very much. 

I mean, what is the problem with that piece of code right now?

ie please educate me about msleep_interruptible()



[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
                   ` (2 preceding siblings ...)
  2004-10-01 19:07 ` Marcelo Tosatti
@ 2004-10-01 20:10 ` Nishanth Aravamudan
  2004-10-01 21:09 ` Nishanth Aravamudan
  2004-10-02 15:47 ` Marcelo Tosatti
  5 siblings, 0 replies; 7+ messages in thread
From: Nishanth Aravamudan @ 2004-10-01 20:10 UTC (permalink / raw)
  To: kernel-janitors

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

On Thu, Sep 30, 2004 at 01:48:18PM -0300, Marcelo Tosatti wrote:
> Well have to convert from jiffies (char_time) to msecs, just to 
> convert it back again to jiffies in msleep_interruptible().
> 
> Is this patch actually fixing any problem?

So there are a few things here:

1) I think the overhead of the conversions is very small in comparison
with the eventual call to schedule() and such, so I don't think it's
that big of a deal -- *please* correct me if I am wrong, though.

2) I am currently trying to determine if it might be possible for the
timeout value (char_time, and I guess by extension, timeout) to be
expressed in milliseconds instead of jiffies. If you have any input on
that, Marcelo (or anyone from the list), I would really appreciate it.

-Nish

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
                   ` (3 preceding siblings ...)
  2004-10-01 20:10 ` Nishanth Aravamudan
@ 2004-10-01 21:09 ` Nishanth Aravamudan
  2004-10-02 15:47 ` Marcelo Tosatti
  5 siblings, 0 replies; 7+ messages in thread
From: Nishanth Aravamudan @ 2004-10-01 21:09 UTC (permalink / raw)
  To: kernel-janitors

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

On Fri, Oct 01, 2004 at 04:07:04PM -0300, Marcelo Tosatti wrote:
> On Fri, Oct 01, 2004 at 01:10:31PM -0700, Nishanth Aravamudan wrote:
> > On Thu, Sep 30, 2004 at 01:48:18PM -0300, Marcelo Tosatti wrote:
> > > Well have to convert from jiffies (char_time) to msecs, just to 
> > > convert it back again to jiffies in msleep_interruptible().
> > > 
> > > Is this patch actually fixing any problem?
> > 
> > So there are a few things here:
> > 
> > 1) I think the overhead of the conversions is very small in comparison
> > with the eventual call to schedule() and such, so I don't think it's
> > that big of a deal -- *please* correct me if I am wrong, though.
> 
> No you are right the overhead is very small - I'm just trying
> to find a good reason to apply the change.

So I would say there are some good reasons to apply this patch.
Presuming this delay is somewhat long (it's a little hard to determine
this from the code, so your input here would again be appreciated),
having most drivers delay for long times using msleep*() goes a long way
towards consistency IMO. Since your timeout values are variables,
though, this becomes a little more difficult to argue :) Then again, if
we could figure out a way to use seconds (or some other human time-unit)
to express the delays, I think using msleep*() becomes pretty obvious.
Or even if it doesn't happen now for whatever reason, down the road this
makes the change that much easier

> > 2) I am currently trying to determine if it might be possible for the
> > timeout value (char_time, and I guess by extension, timeout) to be
> > expressed in milliseconds instead of jiffies. If you have any input on
> > that, Marcelo (or anyone from the list), I would really appreciate it.
> 
> I do not like the idea very much. 

Out of curiousity, why? Would it be particularly hard to do? If that is
the case, that's fine, I'm just wondering...

> I mean, what is the problem with that piece of code right now?
> 
> ie please educate me about msleep_interruptible()

To be honest, I think the arguments for using msleep() in general are
far stronger. msleep_interruptible() was recently introduced to have the
same effect except allow for a TASK_INTERRUPTIBLE based sleep. Since you
are checking for a signal after returning from schedule_timeout(),
msleep() isn't an option here ... What can be done here, actually, I
just realized is to remove the signal_pending() check, as
msleep_interruptible() does this as well.

There is another thing my patch didn't do, though - the

	current->state = TASK_RUNNING;

call is unnecessary, because schedule_timeout() / msleep_interruptible()
takes care of this.

I have made these changes in the following patch -- please revert the
previous cyclades patch and apply this one. Let me know if this is more
satisfactory (it definitely simplifies the while-loop a bit).

-Nish



Description: Uses msleep_interruptible() instead of schedule_timeout().
This allows the removal of one conditional, as msleep_interruptible()
should only return non-zero if signal_pending(current) is true.
current->state also does not need to be set, as msleep_interruptible()
(actually, schedule_timeout) is guaranteed to return in TASK_RUNNING.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>

--- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
+++ 2.6.9-rc2/drivers/char/cyclades.c	2004-10-01 13:55:19.000000000 -0700
@@ -2717,20 +2717,16 @@ cy_wait_until_sent(struct tty_struct *tt
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
 	    printk("Not clean (jiff=%lu)...", jiffies);
 #endif
-	    current->state = TASK_INTERRUPTIBLE;
-	    schedule_timeout(char_time);
-	    if (signal_pending(current))
+	    if (msleep_interruptible(jiffies_to_msecs(char_time)))
 		break;
 	    if (timeout && time_after(jiffies, orig_jiffies + timeout))
 		break;
 	}
-	current->state = TASK_RUNNING;
     } else {
 	// Nothing to do!
     }
     /* Run one more char cycle */
-    current->state = TASK_INTERRUPTIBLE;
-    schedule_timeout(char_time * 5);
+    msleep_interruptible(jiffies_to_msecs(char_time * 5));
 #ifdef CY_DEBUG_WAIT_UNTIL_SENT
     printk("Clean (jiff=%lu)...done\n", jiffies);
 #endif
@@ -2860,8 +2856,7 @@ cy_close(struct tty_struct *tty, struct 
     if (info->blocked_open) {
 	CY_UNLOCK(info, flags);
         if (info->close_delay) {
-            current->state = TASK_INTERRUPTIBLE;
-            schedule_timeout(info->close_delay);
+            msleep_interruptible(jiffies_to_msecs(info->close_delay));
         }
         wake_up_interruptible(&info->open_wait);
 	CY_LOCK(info, flags);

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

* Re: [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace
  2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
                   ` (4 preceding siblings ...)
  2004-10-01 21:09 ` Nishanth Aravamudan
@ 2004-10-02 15:47 ` Marcelo Tosatti
  5 siblings, 0 replies; 7+ messages in thread
From: Marcelo Tosatti @ 2004-10-02 15:47 UTC (permalink / raw)
  To: kernel-janitors

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

On Fri, Oct 01, 2004 at 02:09:01PM -0700, Nishanth Aravamudan wrote:
> On Fri, Oct 01, 2004 at 04:07:04PM -0300, Marcelo Tosatti wrote:
> > On Fri, Oct 01, 2004 at 01:10:31PM -0700, Nishanth Aravamudan wrote:
> > > On Thu, Sep 30, 2004 at 01:48:18PM -0300, Marcelo Tosatti wrote:
> > > > Well have to convert from jiffies (char_time) to msecs, just to 
> > > > convert it back again to jiffies in msleep_interruptible().
> > > > 
> > > > Is this patch actually fixing any problem?
> > > 
> > > So there are a few things here:
> > > 
> > > 1) I think the overhead of the conversions is very small in comparison
> > > with the eventual call to schedule() and such, so I don't think it's
> > > that big of a deal -- *please* correct me if I am wrong, though.
> > 
> > No you are right the overhead is very small - I'm just trying
> > to find a good reason to apply the change.
> 
> So I would say there are some good reasons to apply this patch.
> Presuming this delay is somewhat long (it's a little hard to determine
> this from the code, so your input here would again be appreciated),
> having most drivers delay for long times using msleep*() goes a long way
> towards consistency IMO. Since your timeout values are variables,
> though, this becomes a little more difficult to argue :) 

The value will never be more than 1 second.

> Then again, if we could figure out a way to use seconds (or some other human time-unit)
> to express the delays, I think using msleep*() becomes pretty obvious.
> Or even if it doesn't happen now for whatever reason, down the road this
> makes the change that much easier
> 
> > > 2) I am currently trying to determine if it might be possible for the
> > > timeout value (char_time, and I guess by extension, timeout) to be
> > > expressed in milliseconds instead of jiffies. If you have any input on
> > > that, Marcelo (or anyone from the list), I would really appreciate it.
> > 
> > I do not like the idea very much. 
> 
> Out of curiousity, why? Would it be particularly hard to do? If that is
> the case, that's fine, I'm just wondering...

No it woudlnt be very hard to do it. change "timeout" from cyclades_port
structure from jiffies to seconds. 

I just dont see a point in doing it right now (I might be a good thing, though).

> > I mean, what is the problem with that piece of code right now?
> > 
> > ie please educate me about msleep_interruptible()
> 
> To be honest, I think the arguments for using msleep() in general are
> far stronger. msleep_interruptible() was recently introduced to have the
> same effect except allow for a TASK_INTERRUPTIBLE based sleep. Since you
> are checking for a signal after returning from schedule_timeout(),
> msleep() isn't an option here ... What can be done here, actually, I
> just realized is to remove the signal_pending() check, as
> msleep_interruptible() does this as well.

Yes I think thats fine.

> There is another thing my patch didn't do, though - the
> 
> 	current->state = TASK_RUNNING;
> 
> call is unnecessary, because schedule_timeout() / msleep_interruptible()
> takes care of this.

Yes this seems fine.

> I have made these changes in the following patch -- please revert the
> previous cyclades patch and apply this one. Let me know if this is more
> satisfactory (it definitely simplifies the while-loop a bit).

Sure I can apply this. Its a good cleanup after all.

Thanks!

> Description: Uses msleep_interruptible() instead of schedule_timeout().
> This allows the removal of one conditional, as msleep_interruptible()
> should only return non-zero if signal_pending(current) is true.
> current->state also does not need to be set, as msleep_interruptible()
> (actually, schedule_timeout) is guaranteed to return in TASK_RUNNING.
> 
> Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
> 
> --- 2.6.9-rc2-vanilla/drivers/char/cyclades.c	2004-09-13 17:15:49.000000000 -0700
> +++ 2.6.9-rc2/drivers/char/cyclades.c	2004-10-01 13:55:19.000000000 -0700
> @@ -2717,20 +2717,16 @@ cy_wait_until_sent(struct tty_struct *tt
>  #ifdef CY_DEBUG_WAIT_UNTIL_SENT
>  	    printk("Not clean (jiff=%lu)...", jiffies);
>  #endif
> -	    current->state = TASK_INTERRUPTIBLE;
> -	    schedule_timeout(char_time);
> -	    if (signal_pending(current))
> +	    if (msleep_interruptible(jiffies_to_msecs(char_time)))
>  		break;
>  	    if (timeout && time_after(jiffies, orig_jiffies + timeout))
>  		break;
>  	}
> -	current->state = TASK_RUNNING;
>      } else {
>  	// Nothing to do!
>      }
>      /* Run one more char cycle */
> -    current->state = TASK_INTERRUPTIBLE;
> -    schedule_timeout(char_time * 5);
> +    msleep_interruptible(jiffies_to_msecs(char_time * 5));
>  #ifdef CY_DEBUG_WAIT_UNTIL_SENT
>      printk("Clean (jiff=%lu)...done\n", jiffies);
>  #endif
> @@ -2860,8 +2856,7 @@ cy_close(struct tty_struct *tty, struct 
>      if (info->blocked_open) {
>  	CY_UNLOCK(info, flags);
>          if (info->close_delay) {
> -            current->state = TASK_INTERRUPTIBLE;
> -            schedule_timeout(info->close_delay);
> +            msleep_interruptible(jiffies_to_msecs(info->close_delay));
>          }
>          wake_up_interruptible(&info->open_wait);
>  	CY_LOCK(info, flags);

[-- Attachment #2: Type: text/plain, Size: 167 bytes --]

_______________________________________________
Kernel-janitors mailing list
Kernel-janitors@lists.osdl.org
http://lists.osdl.org/mailman/listinfo/kernel-janitors

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

end of thread, other threads:[~2004-10-02 15:47 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-15 21:21 [Kernel-janitors] [PATCH 2.6.9-rc2 2/33] char/cyclades: replace Nishanth Aravamudan
2004-09-24 17:24 ` Nishanth Aravamudan
2004-09-30 16:48 ` Marcelo Tosatti
2004-10-01 19:07 ` Marcelo Tosatti
2004-10-01 20:10 ` Nishanth Aravamudan
2004-10-01 21:09 ` Nishanth Aravamudan
2004-10-02 15:47 ` Marcelo Tosatti

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.