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