All of lore.kernel.org
 help / color / mirror / Atom feed
* 2.6 preemptive kernel on mips
@ 2004-08-03 19:22 Song Wang
  2004-08-03 19:40 ` Jun Sun
  0 siblings, 1 reply; 7+ messages in thread
From: Song Wang @ 2004-08-03 19:22 UTC (permalink / raw)
  To: linux-mips

Hi,

Has anyone tried to enable kernel preemption on
Linux mips 2.6 kernel (mips32) and test it? If
so, which version does it work?

I tried on 2.6.3 and it didn't work.

Thanks.

-Song


	
		
__________________________________
Do you Yahoo!?
New and Improved Yahoo! Mail - 100MB free storage!
http://promotions.yahoo.com/new_mail 

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

* Re: 2.6 preemptive kernel on mips
  2004-08-03 19:22 2.6 preemptive kernel on mips Song Wang
@ 2004-08-03 19:40 ` Jun Sun
  2004-08-04 21:51   ` Tom Rini
  2004-10-04 12:15   ` Atsushi Nemoto
  0 siblings, 2 replies; 7+ messages in thread
From: Jun Sun @ 2004-08-03 19:40 UTC (permalink / raw)
  To: Song Wang; +Cc: linux-mips, jsun

On Tue, Aug 03, 2004 at 12:22:44PM -0700, Song Wang wrote:
> Hi,
> 
> Has anyone tried to enable kernel preemption on
> Linux mips 2.6 kernel (mips32) and test it? If
> so, which version does it work?
> 
> I tried on 2.6.3 and it didn't work.
> 

Try the latest kernel.  I checked preemption around 2.6.5 time
and I believe all the obvious problems are fixed then.

There are still some issues with both SMP and PREEMPT, but most
people won't see them in normal cases.

Jun

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

* Re: 2.6 preemptive kernel on mips
  2004-08-03 19:40 ` Jun Sun
@ 2004-08-04 21:51   ` Tom Rini
  2004-08-04 22:25     ` Jun Sun
  2004-10-04 12:15   ` Atsushi Nemoto
  1 sibling, 1 reply; 7+ messages in thread
From: Tom Rini @ 2004-08-04 21:51 UTC (permalink / raw)
  To: Jun Sun; +Cc: Song Wang, linux-mips

On Tue, Aug 03, 2004 at 12:40:48PM -0700, Jun Sun wrote:

> On Tue, Aug 03, 2004 at 12:22:44PM -0700, Song Wang wrote:
> > Hi,
> > 
> > Has anyone tried to enable kernel preemption on
> > Linux mips 2.6 kernel (mips32) and test it? If
> > so, which version does it work?
> > 
> > I tried on 2.6.3 and it didn't work.
> > 
> 
> Try the latest kernel.  I checked preemption around 2.6.5 time
> and I believe all the obvious problems are fixed then.
> 
> There are still some issues with both SMP and PREEMPT, but most
> people won't see them in normal cases.

MIPS or generic?  It's claimed, at least, that SMP&&PREEMPT have no
fatal, generic, issues now (I forget if that was the case around 2.6.5).

-- 
Tom Rini
http://gate.crashing.org/~trini/

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

* Re: 2.6 preemptive kernel on mips
  2004-08-04 21:51   ` Tom Rini
@ 2004-08-04 22:25     ` Jun Sun
  0 siblings, 0 replies; 7+ messages in thread
From: Jun Sun @ 2004-08-04 22:25 UTC (permalink / raw)
  To: Tom Rini; +Cc: Song Wang, linux-mips, jsun

On Wed, Aug 04, 2004 at 02:51:40PM -0700, Tom Rini wrote:
> On Tue, Aug 03, 2004 at 12:40:48PM -0700, Jun Sun wrote:
> 
> > On Tue, Aug 03, 2004 at 12:22:44PM -0700, Song Wang wrote:
> > > Hi,
> > > 
> > > Has anyone tried to enable kernel preemption on
> > > Linux mips 2.6 kernel (mips32) and test it? If
> > > so, which version does it work?
> > > 
> > > I tried on 2.6.3 and it didn't work.
> > > 
> > 
> > Try the latest kernel.  I checked preemption around 2.6.5 time
> > and I believe all the obvious problems are fixed then.
> > 
> > There are still some issues with both SMP and PREEMPT, but most
> > people won't see them in normal cases.
> 
> MIPS or generic?  It's claimed, at least, that SMP&&PREEMPT have no
> fatal, generic, issues now (I forget if that was the case around 2.6.5).
> 

It is MIPS specific problems I was referring to (such as unsafe 
smp_processor_id() reference etc).

If you think about it the real problem is that kernel has non-migratable
regions, a section where process should not migrate from one CPU to
another.  Before preemtible kernel is introduced such non-migratable
regions are not a problem because they can't migrate during those
regions.

So a potentially better solution is to introduce non-migratable
regions during which scheduler promises not to migrate the processes.
Under such promises a process can actually be preempted while
it is in such a region.

Jun

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

* Re: 2.6 preemptive kernel on mips
  2004-08-03 19:40 ` Jun Sun
  2004-08-04 21:51   ` Tom Rini
@ 2004-10-04 12:15   ` Atsushi Nemoto
  2004-10-05  0:00     ` Jun Sun
  1 sibling, 1 reply; 7+ messages in thread
From: Atsushi Nemoto @ 2004-10-04 12:15 UTC (permalink / raw)
  To: jsun; +Cc: wsonguci, linux-mips

>>>>> On Tue, 3 Aug 2004 12:40:48 -0700, Jun Sun <jsun@mvista.com> said:
jsun> Try the latest kernel.  I checked preemption around 2.6.5 time
jsun> and I believe all the obvious problems are fixed then.

Hi.  Now I'm looking current (2.6.9-rc1) code.

It lacks some preempt_disable/preempt_enable which were in
preempt-patch for 2.4 kernel.  Are these all unnecessary at all?

For example, fpu-emulation is not preemptive-safe, isn't it?

---
Atsushi Nemoto

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

* Re: 2.6 preemptive kernel on mips
  2004-10-04 12:15   ` Atsushi Nemoto
@ 2004-10-05  0:00     ` Jun Sun
  2004-10-05  4:58       ` Atsushi Nemoto
  0 siblings, 1 reply; 7+ messages in thread
From: Jun Sun @ 2004-10-05  0:00 UTC (permalink / raw)
  To: Atsushi Nemoto; +Cc: jsun, wsonguci, linux-mips

On Mon, Oct 04, 2004 at 09:15:04PM +0900, Atsushi Nemoto wrote:
> >>>>> On Tue, 3 Aug 2004 12:40:48 -0700, Jun Sun <jsun@mvista.com> said:
> jsun> Try the latest kernel.  I checked preemption around 2.6.5 time
> jsun> and I believe all the obvious problems are fixed then.
> 
> Hi.  Now I'm looking current (2.6.9-rc1) code.
> 
> It lacks some preempt_disable/preempt_enable which were in
> preempt-patch for 2.4 kernel.  Are these all unnecessary at all?
> 

They are necessary.

> For example, fpu-emulation is not preemptive-safe, isn't it?
> 

That is correct.

I think the best thing to do right now is to go through
2.4 preemption patch and pick up the missing ones for 2.6.

It will probably take me a little given other things on my hand.
I strongly enourage someone else to take a shoot at it.  The latest
2.4 MIPS preemption patch seems to be 

http://linux.junsun.net/patches/oss.sgi.com/experimental/030304-b.preempt-mips.patch

Jun

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

* Re: 2.6 preemptive kernel on mips
  2004-10-05  0:00     ` Jun Sun
@ 2004-10-05  4:58       ` Atsushi Nemoto
  0 siblings, 0 replies; 7+ messages in thread
From: Atsushi Nemoto @ 2004-10-05  4:58 UTC (permalink / raw)
  To: jsun; +Cc: jsun, wsonguci, linux-mips

>>>>> On Mon, 4 Oct 2004 17:00:02 -0700, Jun Sun <jsun@junsun.net> said:
>> It lacks some preempt_disable/preempt_enable which were in
>> preempt-patch for 2.4 kernel.  Are these all unnecessary at all?

jsun> They are necessary.

>> For example, fpu-emulation is not preemptive-safe, isn't it?

jsun> That is correct.

jsun> I think the best thing to do right now is to go through 2.4
jsun> preemption patch and pick up the missing ones for 2.6.

Thank you.  I think there are some issue to fix.

1. ll/sc emulation (ll_bit, ll_task).  This is easy to fix.

2. There is an global variable ieee754_csr in math-emu.  This must be
protected by preempt_disable.  But math-emu uses put_user/get_user
which can not be used with preempt disabled.  (Is it true?)

3. save_fp_context/restore_fp_context is not preemptable.  But these
function uses put_user/get_user.


Actually, math-emu/fp_context issues are not only for preemptive
kernel.  I suppose bad things can happen if a process going to sleep
on get_user/put_user in math-emu/save_fp_context/restore_fp_context...

---
Atsushi Nemoto

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

end of thread, other threads:[~2004-10-05  5:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-08-03 19:22 2.6 preemptive kernel on mips Song Wang
2004-08-03 19:40 ` Jun Sun
2004-08-04 21:51   ` Tom Rini
2004-08-04 22:25     ` Jun Sun
2004-10-04 12:15   ` Atsushi Nemoto
2004-10-05  0:00     ` Jun Sun
2004-10-05  4:58       ` Atsushi Nemoto

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.