Benjamin Herrenschmidt | 7 Feb 00:26 2011

Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()

On Mon, 2011-01-17 at 12:07 +0100, Peter Zijlstra wrote:
> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> index 68034bb..7ee0fc3 100644
> --- a/arch/powerpc/kernel/smp.c
> +++ b/arch/powerpc/kernel/smp.c
>  <at>  <at>  -128,6 +128,7  <at>  <at>  static irqreturn_t call_function_action(int irq, void *data)
>  static irqreturn_t reschedule_action(int irq, void *data)
>  {
>         /* we just need the return path side effect of checking need_resched */
> +       scheduler_ipi();
>         return IRQ_HANDLED;
>  }
>   

You missed:

diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index 9813605..467d122 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
 <at>  <at>  -98,6 +98,7  <at>  <at>  void smp_message_recv(int msg)
                break;
        case PPC_MSG_RESCHEDULE:
                /* we notice need_resched on exit */
+               scheduler_ipi();
                break;
        case PPC_MSG_CALL_FUNC_SINGLE:
                generic_smp_call_function_single_interrupt();

Fold that in and add:
(Continue reading)

Peter Zijlstra | 7 Feb 14:54 2011

Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()

On Mon, 2011-02-07 at 10:26 +1100, Benjamin Herrenschmidt wrote:
> You missed:
> 
> diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> index 9813605..467d122 100644
> --- a/arch/powerpc/kernel/smp.c
> +++ b/arch/powerpc/kernel/smp.c
>  <at>  <at>  -98,6 +98,7  <at>  <at>  void smp_message_recv(int msg)
>                 break;
>         case PPC_MSG_RESCHEDULE:
>                 /* we notice need_resched on exit */
> +               scheduler_ipi();
>                 break;
>         case PPC_MSG_CALL_FUNC_SINGLE:
>                 generic_smp_call_function_single_interrupt();
> 
> Fold that in and add:
> 
> Acked-by: Benjamin Herrenschmidt <benh <at> kernel.crashing.org>

Thanks Ben!

Benjamin Herrenschmidt | 9 Feb 07:14 2011

Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()

On Mon, 2011-02-07 at 14:54 +0100, Peter Zijlstra wrote:
> On Mon, 2011-02-07 at 10:26 +1100, Benjamin Herrenschmidt wrote:
> > You missed:
> > 
> > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> > index 9813605..467d122 100644
> > --- a/arch/powerpc/kernel/smp.c
> > +++ b/arch/powerpc/kernel/smp.c
> >  <at>  <at>  -98,6 +98,7  <at>  <at>  void smp_message_recv(int msg)
> >                 break;
> >         case PPC_MSG_RESCHEDULE:
> >                 /* we notice need_resched on exit */
> > +               scheduler_ipi();
> >                 break;
> >         case PPC_MSG_CALL_FUNC_SINGLE:
> >                 generic_smp_call_function_single_interrupt();
> > 
> > Fold that in and add:
> > 
> > Acked-by: Benjamin Herrenschmidt <benh@...>
> 
> Thanks Ben!

BTW. I we lurking at some of our CPU hotplug code and I think I cannot
totally guarantee that this won't be called on an offline CPU. If that's
a problem, you may want to add a test for that.

IE. The call function IPIs are normally not going to be sent to an
offlined CPU, and stop_machine should be a good enough fence here, but
we do abuse reschedule for a number of things (including in some case
(Continue reading)

Peter Zijlstra | 9 Feb 10:37 2011

Re: [PATCH] sched: provide scheduler_ipi() callback in response to smp_send_reschedule()

On Wed, 2011-02-09 at 17:14 +1100, Benjamin Herrenschmidt wrote:
> On Mon, 2011-02-07 at 14:54 +0100, Peter Zijlstra wrote:
> > On Mon, 2011-02-07 at 10:26 +1100, Benjamin Herrenschmidt wrote:
> > > You missed:
> > > 
> > > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
> > > index 9813605..467d122 100644
> > > --- a/arch/powerpc/kernel/smp.c
> > > +++ b/arch/powerpc/kernel/smp.c
> > >  <at>  <at>  -98,6 +98,7  <at>  <at>  void smp_message_recv(int msg)
> > >                 break;
> > >         case PPC_MSG_RESCHEDULE:
> > >                 /* we notice need_resched on exit */
> > > +               scheduler_ipi();
> > >                 break;
> > >         case PPC_MSG_CALL_FUNC_SINGLE:
> > >                 generic_smp_call_function_single_interrupt();
> > > 
> > > Fold that in and add:
> > > 
> > > Acked-by: Benjamin Herrenschmidt <benh <at> kernel.crashing.org>
> > 
> > Thanks Ben!
> 
> BTW. I we lurking at some of our CPU hotplug code and I think I cannot
> totally guarantee that this won't be called on an offline CPU. If that's
> a problem, you may want to add a test for that.
> 
> IE. The call function IPIs are normally not going to be sent to an
> offlined CPU, and stop_machine should be a good enough fence here, but
(Continue reading)

sarthak dash | 13 Feb 23:09 2011
Picon

[uml-user] Unable to install UML

Hey folks,

I just tried to install User Mode Linux in my laptop for a research project in order to test a kernel module but couldn't succeed. The error that I keep on getting is :-

EXT3-fs: ubda: couldn't mount because of unsupported optional features (240).
EXT2-fs: ubda: couldn't mount because of unsupported optional features (240).
List of all partitions:
6200    1048577 ubda driver: uml-blkdev
No filesystem could mount root, tried:  reiserfs ext3 ext2
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(98,0)

This is a part of the entire log. Any help would be appreciated.

Regards,
Sarthak Dash
--
Research Assistant,
Insead Business School,
Fontainebleau,France-77300

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
Antoine Martin | 16 Feb 00:45 2011
Picon

Re: [uml-user] Unable to install UML

Hi Sarthak,

You're not saying which kernel you are using or which filesystem... 
which makes it hard for people to help you.
My guess is that you're trying to mount an ext3/ext4 filesystem on an 
older kernel that does not support its features.

Cheers
Antoine

On 14/02/11 05:09, sarthak dash wrote:
> Hey folks,
>
> I just tried to install User Mode Linux in my laptop for a research
> project in order to test a kernel module but couldn't succeed. The error
> that I keep on getting is :-
>
> EXT3-fs: ubda: couldn't mount because of unsupported optional features
> (240).
> EXT2-fs: ubda: couldn't mount because of unsupported optional features
> (240).
> List of all partitions:
> 6200    1048577 ubda driver: uml-blkdev
> No filesystem could mount root, tried:  reiserfs ext3 ext2
> Kernel panic - not syncing: VFS: Unable to mount root fs on
> unknown-block(98,0)
>
> This is a part of the entire log. Any help would be appreciated.
>
> Regards,
> Sarthak Dash
> --
> Research Assistant,
> Insead Business School,
> Fontainebleau,France-77300
>
>
>
> ------------------------------------------------------------------------------
> The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
> Pinpoint memory and threading errors before they happen.
> Find and fix more than 250 security defects in the development cycle.
> Locate bottlenecks in serial and parallel code that limit performance.
> http://p.sf.net/sfu/intel-dev2devfeb
>
>
>
> _______________________________________________
> User-mode-linux-user mailing list
> User-mode-linux-user <at> lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
sarthak dash | 16 Feb 09:09 2011
Picon

Re: [uml-user] Unable to install UML

Hi Antoine,
Thanks for pointing out the error in my approach for asking help from other uml users in the forum. I am using Ubuntu 10.04 as my host OS , linux-2.6.24-rc7 as my kernel image for uml and Ubuntu-Maverick root filesystem(ext4 types) as rootfs for uml.

Please help me in my efforts and since this is my first post to any forums/threads please excuse me for any lack of details provided.

Regards,
Sarthak Dash

On Wed, Feb 16, 2011 at 12:45 AM, Antoine Martin <antoine <at> nagafix.co.uk> wrote:
Hi Sarthak,

You're not saying which kernel you are using or which filesystem... which makes it hard for people to help you.
My guess is that you're trying to mount an ext3/ext4 filesystem on an older kernel that does not support its features.

Cheers
Antoine




On 14/02/11 05:09, sarthak dash wrote:
Hey folks,

I just tried to install User Mode Linux in my laptop for a research
project in order to test a kernel module but couldn't succeed. The error
that I keep on getting is :-

EXT3-fs: ubda: couldn't mount because of unsupported optional features
(240).
EXT2-fs: ubda: couldn't mount because of unsupported optional features
(240).
List of all partitions:
6200    1048577 ubda driver: uml-blkdev
No filesystem could mount root, tried:  reiserfs ext3 ext2
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(98,0)

This is a part of the entire log. Any help would be appreciated.

Regards,
Sarthak Dash
--
Research Assistant,
Insead Business School,
Fontainebleau,France-77300



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb



_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user




--
Research Assistant,
Insead Business School,
Fontainebleau,France-77300

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
Antoine Martin | 16 Feb 14:37 2011
Picon

Re: [uml-user] Unable to install UML

Hi Shartak,

Try a more recent guest kernel. I have no idea why you are using an 
ancient rc kernel!?
I assume you've downloaded the filesystem image from here (?):
http://fs.devloop.org.uk/
So you should not have any problems downloading a newer kernel image 
from here:
http://uml.devloop.org.uk/

Cheers
Antoine

On 16/02/11 15:09, sarthak dash wrote:
> Hi Antoine,
> Thanks for pointing out the error in my approach for asking help from
> other uml users in the forum. I am using Ubuntu 10.04 as my host OS ,
> linux-2.6.24-rc7 as my kernel image for uml and Ubuntu-Maverick root
> filesystem(ext4 types) as rootfs for uml.
>
> Please help me in my efforts and since this is my first post to any
> forums/threads please excuse me for any lack of details provided.
>
> Regards,
> Sarthak Dash
>
> On Wed, Feb 16, 2011 at 12:45 AM, Antoine Martin <antoine <at> nagafix.co.uk
> <mailto:antoine <at> nagafix.co.uk>> wrote:
>
>     Hi Sarthak,
>
>     You're not saying which kernel you are using or which filesystem...
>     which makes it hard for people to help you.
>     My guess is that you're trying to mount an ext3/ext4 filesystem on
>     an older kernel that does not support its features.
>
>     Cheers
>     Antoine
>
>
>
>
>     On 14/02/11 05:09, sarthak dash wrote:
>
>         Hey folks,
>
>         I just tried to install User Mode Linux in my laptop for a research
>         project in order to test a kernel module but couldn't succeed.
>         The error
>         that I keep on getting is :-
>
>         EXT3-fs: ubda: couldn't mount because of unsupported optional
>         features
>         (240).
>         EXT2-fs: ubda: couldn't mount because of unsupported optional
>         features
>         (240).
>         List of all partitions:
>         6200    1048577 ubda driver: uml-blkdev
>         No filesystem could mount root, tried:  reiserfs ext3 ext2
>         Kernel panic - not syncing: VFS: Unable to mount root fs on
>         unknown-block(98,0)
>
>         This is a part of the entire log. Any help would be appreciated.
>
>         Regards,
>         Sarthak Dash
>         --
>         Research Assistant,
>         Insead Business School,
>         Fontainebleau,France-77300
>
>
>
>         ------------------------------------------------------------------------------
>         The ultimate all-in-one performance toolkit: Intel(R) Parallel
>         Studio XE:
>         Pinpoint memory and threading errors before they happen.
>         Find and fix more than 250 security defects in the development
>         cycle.
>         Locate bottlenecks in serial and parallel code that limit
>         performance.
>         http://p.sf.net/sfu/intel-dev2devfeb
>
>
>
>         _______________________________________________
>         User-mode-linux-user mailing list
>         User-mode-linux-user <at> lists.sourceforge.net
>         <mailto:User-mode-linux-user <at> lists.sourceforge.net>
>         https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
>
>
>
>
>
> --
> Research Assistant,
> Insead Business School,
> Fontainebleau,France-77300
>

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
Patrik Nyman | 16 Feb 23:08 2011
Picon

[uml-user] Problems with 64-bits JVM

.ExternalClass .ecxhmmessage P {padding:0px;} .ExternalClass body.ecxhmmessage {font-size:10pt;font-family:Tahoma;} Hi,
 

I have a problem running Java applications in a 64-bit JVM (with HotSpot compiler enabled) in a 64-bit UML instance.

Sometimes I can start and run the application 5 times in a row, just to experience 5 subsequent crashes. And, even if the application starts up ok, it might crash after some hours.

 

So, maybe 50% of the time, the Java application crashes soon (~8 seconds) after startup, almost always when running one of the "CompilerThread"s. The majority (~95%) of error log contains lines like these:

 

Current thread (0x00000000402fb800):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=13200, stack(0x00000000453e7000,0x00000000454e8000)]

siginfo:si_signo=SIGSEGV: si_errno=0, si_code=1 (SEGV_MAPERR), si_addr=0x000000003f400010

 

Many times (but not always) the problem occurs when compiling this method:

 

Current CompileTask:

C2:155      outline.plugin.ber.AsnTermMap.blow(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Loutline/plugin/ber/AsnTerm;)V (254 bytes)

 

The problem has been reproduced for Outline (own developed tool), jconsole and Java2D.

Find attached examples of the JVM error logs.

 

 

Information HW and OS

 

Intel(R) Xeon(R) CPU E5540  <at> 2.53GHz

16 CPUs

cache size      : 8192 KB

cpu cores       : 4

 

Host OS: Red Hat Enterprise Linux Server release 5.4 (Tikanga), 64-bits

Host kernel: 2.6.18-164.el5

 

UML kernel: 2.6.37

 

 

Findings

 

After many hours of trying to analyze this problem I have found out 6 things:

 

1) no, it is not only my Java application that has the problem. Running e g "jconsole" and “Java2D” shows the same behaviour.

2) other (native) 64-bit applications (e g Wireshark) seems to work fine

 

The problem does not occur:

 

3) when running the 64-bit JVM directly on the host (not using the UML) 

4) when running a 32-bit JVM on a 32-bit UML

5) if the JVM is running in interpreted mode (using the flag "-Djava.compiler=NONE")

6) always - which to me indicates that there might be some kind of conflict of memory addresses or thread execution

 

My conclusion from the findings is that it is the 64-bit UML and 64-bit Java HotSpot Compiler that doesn't work well together, at least not always.

 

 

Trying some workarounds

 

I have tried to exclude specific methods (like the "blow" method mentined above) from HotSpot compilation, but the result is only that the crash happens when compiling another method.

The only way to avoid crashes (found so far :-) is to turn the HotSpot compiler off completely.

 

What if I change the JVM from the Oracle jdk1.6.0_23 I am using to something else? Without success I have tried:

 

1) IBMs JVM (J9) -> "segmentation error"

2) JRockit (jrockit-jdk1.6.0_20-R28.1.0-4.0.1-linux-x64) -> "Illegal memory access"

3) Older Sun JVM (Java HotSpot(TM) 64-Bit Server VM (10.0-b19) for linux-amd64 JRE (1.6.0_04-b12)) ->  "CompilerThread0" SEGV_ACCERR

 

 

What about disk access? I have tried to change the location of the application and the JVM (local UML access fetched from network), but unfortunately I really can't see any difference at all.

 

Maybe it's a garbage collection problem? Apart from the default GC I have tried a few other types, but no change in the behavior.

 

 

Memory problem?

 

Since the problem doesn't occur every time, there must some other mechanism around which affects my environment?

Most error logs says something which I think is related to memory, so I have made many attempts trying to increase different memory areas.

I have noticed that the PermGen area was at some times filled to 99% at the time of the crash, when running with default memory allocation.

 

With my current memory setting

 

-Xmx1024m -Xms1024m -XX:NewSize=256m -XX:MaxPermSize=128m -XX:PermSize=64m

 

 the 99% problem isn't seen anymore, but the crash frequency is about the same as before.

 

 

What to do now?

 

Our current workaround is to run the application without the HotSpot Compiler (which saves us from crashes), but the performance of the application makes it next to unusable.

Any suggestions for tracking down this problem is most welcome!

 

 

Best Regards,

Patrik Nyman

Attachment (Java2D_hs_err_pid970.log): application/octet-stream, 39 KiB
Attachment (jconsole_hs_err_pid675.log): application/octet-stream, 57 KiB
Attachment (outline_hs_err_pid13193.log): application/octet-stream, 55 KiB
------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user
Jingkang Zhou | 28 Feb 12:58 2011
Picon

[uml-user] linux2.6.36:undefined reference to 'kmap_atomic_prot_pfn'

command "make ARCH=um" results in the following failure:


arch/um/sys-i386/built-in.o: In function `kmap_atomic_pfn':
(.text+0x2b50): undefined reference to `kmap_atomic_prot_pfn'
arch/um/sys-i386/built-in.o: In function `set_highmem_pages_init':
(.init.text+0xc3): undefined reference to `add_highpages_with_active_regions'

with gcc (GCC) 4.4.4 20100503 (Red Hat 4.4.4-2)

before this i have modified kernel as mentioned in this page:

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Gmane