The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [patch 10/14] serial/crisv10: replace schedule_timeout() with msleep()
@ 2005-03-06 22:36 domen
  2005-03-07  3:35 ` Andrew Morton
  0 siblings, 1 reply; 3+ messages in thread
From: domen @ 2005-03-06 22:36 UTC (permalink / raw)
  To: akpm; +Cc: linux-kernel, domen, nacc




Use msleep() instead of schedule_timeout() to guarantee the task
delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not care
about signals, so I believe msleep() should be ok.

Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
---


 kj-domen/drivers/serial/crisv10.c |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff -puN drivers/serial/crisv10.c~msleep-drivers_serial_crisv10 drivers/serial/crisv10.c
--- kj/drivers/serial/crisv10.c~msleep-drivers_serial_crisv10	2005-03-05 16:10:52.000000000 +0100
+++ kj-domen/drivers/serial/crisv10.c	2005-03-05 16:10:52.000000000 +0100
@@ -3757,10 +3757,8 @@ rs_write(struct tty_struct * tty, int fr
 		e100_enable_rx_irq(info);
 #endif
 
-		if (info->rs485.delay_rts_before_send > 0) {
-			set_current_state(TASK_INTERRUPTIBLE);
-			schedule_timeout((info->rs485.delay_rts_before_send * HZ)/1000);
-		}
+		if (info->rs485.delay_rts_before_send > 0)
+			msleep(info->rs485.delay_rts_before_send);
 	}
 #endif /* CONFIG_ETRAX_RS485 */
 
_

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

* Re: [patch 10/14] serial/crisv10: replace schedule_timeout() with msleep()
  2005-03-06 22:36 [patch 10/14] serial/crisv10: replace schedule_timeout() with msleep() domen
@ 2005-03-07  3:35 ` Andrew Morton
  0 siblings, 0 replies; 3+ messages in thread
From: Andrew Morton @ 2005-03-07  3:35 UTC (permalink / raw)
  To: domen; +Cc: linux-kernel, domen, nacc, Mikael Starvik

domen@coderock.org wrote:
>
> Use msleep() instead of schedule_timeout() to guarantee the task
>  delays as expected. The current code uses TASK_INTERRUPTIBLE, but does not care
>  about signals, so I believe msleep() should be ok.
> 
>  Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
>  Signed-off-by: Domen Puncer <domen@coderock.org>
>  ---
> 
> 
>   kj-domen/drivers/serial/crisv10.c |    6 ++----
>   1 files changed, 2 insertions(+), 4 deletions(-)
> 
>  diff -puN drivers/serial/crisv10.c~msleep-drivers_serial_crisv10 drivers/serial/crisv10.c
>  --- kj/drivers/serial/crisv10.c~msleep-drivers_serial_crisv10	2005-03-05 16:10:52.000000000 +0100
>  +++ kj-domen/drivers/serial/crisv10.c	2005-03-05 16:10:52.000000000 +0100
>  @@ -3757,10 +3757,8 @@ rs_write(struct tty_struct * tty, int fr
>   		e100_enable_rx_irq(info);
>   #endif
>   
>  -		if (info->rs485.delay_rts_before_send > 0) {
>  -			set_current_state(TASK_INTERRUPTIBLE);
>  -			schedule_timeout((info->rs485.delay_rts_before_send * HZ)/1000);
>  -		}
>  +		if (info->rs485.delay_rts_before_send > 0)
>  +			msleep(info->rs485.delay_rts_before_send);

Behavioural change: we'll no longer break out of the sleep if a signal is
pending.  Which probably means you fixed a bug ;)

Please work it with Mikael.


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

* RE: [patch 10/14] serial/crisv10: replace schedule_timeout() with msleep()
       [not found] <BFECAF9E178F144FAEF2BF4CE739C668026F8BAA@exmail1.se.axis.com>
@ 2005-03-07  8:13 ` Mikael Starvik
  0 siblings, 0 replies; 3+ messages in thread
From: Mikael Starvik @ 2005-03-07  8:13 UTC (permalink / raw)
  To: 'Andrew Morton', domen; +Cc: linux-kernel, domen, nacc, Mikael Starvik

Yes, that is correct. Please apply.

Acked-by: Mikael Starvik <starvik@axis.com>

-----Original Message-----
From: linux-kernel-owner@vger.kernel.org
[mailto:linux-kernel-owner@vger.kernel.org] On Behalf Of Andrew Morton
Sent: Monday, March 07, 2005 4:36 AM
To: domen@coderock.org
Cc: linux-kernel@vger.kernel.org; domen@coderock.org; nacc@us.ibm.com;
Mikael Starvik
Subject: Re: [patch 10/14] serial/crisv10: replace schedule_timeout() with
msleep()


domen@coderock.org wrote:
>
> Use msleep() instead of schedule_timeout() to guarantee the task
>  delays as expected. The current code uses TASK_INTERRUPTIBLE, but does
not care
>  about signals, so I believe msleep() should be ok.
> 
>  Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
>  Signed-off-by: Domen Puncer <domen@coderock.org>
>  ---
> 
> 
>   kj-domen/drivers/serial/crisv10.c |    6 ++----
>   1 files changed, 2 insertions(+), 4 deletions(-)
> 
>  diff -puN drivers/serial/crisv10.c~msleep-drivers_serial_crisv10
drivers/serial/crisv10.c
>  --- kj/drivers/serial/crisv10.c~msleep-drivers_serial_crisv10
2005-03-05 16:10:52.000000000 +0100
>  +++ kj-domen/drivers/serial/crisv10.c	2005-03-05
16:10:52.000000000 +0100
>  @@ -3757,10 +3757,8 @@ rs_write(struct tty_struct * tty, int fr
>   		e100_enable_rx_irq(info);
>   #endif
>   
>  -		if (info->rs485.delay_rts_before_send > 0) {
>  -			set_current_state(TASK_INTERRUPTIBLE);
>  -			schedule_timeout((info->rs485.delay_rts_before_send
* HZ)/1000);
>  -		}
>  +		if (info->rs485.delay_rts_before_send > 0)
>  +			msleep(info->rs485.delay_rts_before_send);

Behavioural change: we'll no longer break out of the sleep if a signal is
pending.  Which probably means you fixed a bug ;)

Please work it with Mikael.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


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

end of thread, other threads:[~2005-03-07  8:13 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-06 22:36 [patch 10/14] serial/crisv10: replace schedule_timeout() with msleep() domen
2005-03-07  3:35 ` Andrew Morton
     [not found] <BFECAF9E178F144FAEF2BF4CE739C668026F8BAA@exmail1.se.axis.com>
2005-03-07  8:13 ` Mikael Starvik

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox