I finally nailed the last stability issue related to the patchset this 
morning. It is an extremely old issue and I tried to locate the root 
cause for it with Richard off-list 2 years ago. Unfortunately it was 
without success at that time.

This issue is inherent in "stock" UML, but very difficult to trigger. 
For example, if memory serves me right Toralf recently reported 
something he ran into while doing trinity fuzz testing which looked 
exactly like that.

The performance improvement patchset makes it considerably more likely 
to show up.

The symptoms are  - processes stuck in D state with an occasional Z 
child hanging off them.

If my diagnosis is right there is a missing barrier (or for "big" 
machines fence)  in arch/um/kernel/exec.c right after the memory unmap 
in flush_thread().

Stock UML when run off ubd is less susceptible to this issue because of 
its heavy use of lseek/read and lseek/write in the disk susbsystem (nfs 
as in Toralf's case is more likely to make this issue show up). lseek() 
invokes a fence nearly every time it is called inside the host kernel 
resulting in the memory being considerably more in-sync (and the issue 
less likely to happen). By replacing these with pread/pwrite I have made 
the issue more pronounced.

I have a patch prepared which will work only on P3+ as it uses a 
verbatim fence instruction and it tests out. My question is - what is 
the "canonical" way of chosing the correct barrier here and should I 
bother with pre-P3 anyway (I do not think that you can trigger that 
issue on them even if you are lucky to have a SMP machine like this)?

A.


On 22/09/14 17:53, anton.iva...@kot-begemot.co.uk wrote:
> This is an update of the performance improvement patchset, it
> addresses a number of issues resulting from porting what was
> originally written for 3.3.8 to the current linux kernel.
>
> Changes (where applicable) are annotated in actual patchsets.
>
> A.
>
> ------------------------------------------------------------------------------
> Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
> Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
> Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
> Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
> http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
> _______________________________________________
> User-mode-linux-devel mailing list
> User-mode-linux-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel
>


------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

Reply via email to