<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/um/os-Linux/main.c, branch linux-4.6.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-4.6.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2015-11-06T21:54:49Z</updated>
<entry>
<title>um: Switch clocksource to hrtimers</title>
<updated>2015-11-06T21:54:49Z</updated>
<author>
<name>Anton Ivanov</name>
</author>
<published>2015-11-02T16:16:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2eb5f31bc4ea24bb293e82934cfa1cce9573304b'/>
<id>urn:sha1:2eb5f31bc4ea24bb293e82934cfa1cce9573304b</id>
<content type='text'>
UML is using an obsolete itimer call for
all timers and "polls" for kernel space timer firing
in its userspace portion resulting in a long list
of bugs and incorrect behaviour(s). It also uses
ITIMER_VIRTUAL for its timer which results in the
timer being dependent on it running and the cpu
load.

This patch fixes this by moving to posix high resolution
timers firing off CLOCK_MONOTONIC and relaying the timer
correctly to the UML userspace.

Fixes:
 - crashes when hosts suspends/resumes
 - broken userspace timers - effecive ~40Hz instead
   of what they should be. Note - this modifies skas behavior
   by no longer setting an itimer per clone(). Timer events
   are relayed instead.
 - kernel network packet scheduling disciplines
 - tcp behaviour especially under load
 - various timer related corner cases

Finally, overall responsiveness of userspace is better.

Signed-off-by: Thomas Meyer &lt;thomas@m3y3r.de&gt;
Signed-off-by: Anton Ivanov &lt;aivanov@brocade.com&gt;
[rw: massaged commit message]
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: Missing pipe handling</title>
<updated>2014-04-20T21:13:30Z</updated>
<author>
<name>Anton Ivanov</name>
</author>
<published>2014-03-07T18:37:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9fcb663be42e4727c1beabc7c80e2d839199e6b1'/>
<id>urn:sha1:9fcb663be42e4727c1beabc7c80e2d839199e6b1</id>
<content type='text'>
UML does not handle sigpipe. As a result when running it under
expect or redirecting the IO from the console to an external program
it will crash if the program stops or exits.

Signed-off-by: Anton Ivanov &lt;antivano@cisco.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: Run UML in it's own session.</title>
<updated>2013-09-07T08:57:07Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2013-08-18T11:30:09Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=250127216dd6635f5730752d7444bdec992aecb0'/>
<id>urn:sha1:250127216dd6635f5730752d7444bdec992aecb0</id>
<content type='text'>
If UML is not run by a shell it can happen that UML
will kill unrelated proceses upon a fatal exit because
it issues a kill(0, ...).
To prevent such oddities we create a new session in main().

Reported-and-tested-by: Richard W.M. Jones &lt;rjones@redhat.com&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: get rid of pointless include "..." where include &lt;...&gt; will do</title>
<updated>2012-10-09T20:28:45Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2012-10-08T02:27:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=37185b33240870719b6b5913a46e6a441f1ae96f'/>
<id>urn:sha1:37185b33240870719b6b5913a46e6a441f1ae96f</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: -include user.h for USER_OBJ, trim includes</title>
<updated>2011-11-02T13:14:44Z</updated>
<author>
<name>Al Viro</name>
</author>
<published>2011-08-18T19:01:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=078073a3d48ce7c140f1538d249da3ac545065a6'/>
<id>urn:sha1:078073a3d48ce7c140f1538d249da3ac545065a6</id>
<content type='text'>
Signed-off-by: Al Viro &lt;viro@zeniv.linux.org.uk&gt;
Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
</content>
</entry>
<entry>
<title>um: disable scan_elf_aux() on x86_64</title>
<updated>2011-07-26T03:57:13Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2011-07-26T00:12:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=b743ac54e54ca18fb7164a97cc77cf1ccee0b0f7'/>
<id>urn:sha1:b743ac54e54ca18fb7164a97cc77cf1ccee0b0f7</id>
<content type='text'>
Reusing the host's vDSO makes only sense on x86_32.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>um: remove SIGHUP handler</title>
<updated>2011-05-25T15:39:40Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2011-05-25T00:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2525e70d492f8c7bbe1292db8fcd973607a56ac6'/>
<id>urn:sha1:2525e70d492f8c7bbe1292db8fcd973607a56ac6</id>
<content type='text'>
The UML kernel ignores SIGHUP anyway.  This handler is in vain.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>um: fix UML_LIB_PATH</title>
<updated>2011-05-25T15:39:40Z</updated>
<author>
<name>Richard Weinberger</name>
</author>
<published>2011-05-25T00:13:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0ce451acb1872eab0fcf22753f93f51567e812fa'/>
<id>urn:sha1:0ce451acb1872eab0fcf22753f93f51567e812fa</id>
<content type='text'>
UML_LIB_PATH is hardcoded to /usr/lib/uml/, on 64bit systems UML_LIB_PATH
needs to be /usr/lib64/uml/.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>uml: fix build when SLOB is enabled</title>
<updated>2008-05-13T15:02:22Z</updated>
<author>
<name>Jeff Dike</name>
</author>
<published>2008-05-12T21:01:52Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=43f5b3085fdd27c4edf535d938b2cb0ccead4f75'/>
<id>urn:sha1:43f5b3085fdd27c4edf535d938b2cb0ccead4f75</id>
<content type='text'>
Reintroduce uml_kmalloc for the benefit of UML libc code.  The
previous tactic of declaring __kmalloc so it could be called directly
from the libc side of the house turned out to be getting too intimate
with slab, and it doesn't work with slob.

So, the uml_kmalloc wrapper is back.  It calls kmalloc or whatever
that translates into, and libc code calls it.

kfree is left alone since that still works, leaving a somewhat
inconsistent API.

Signed-off-by: Jeff Dike &lt;jdike@linux.intel.com&gt;
Cc: WANG Cong &lt;xiyou.wangcong@gmail.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
<entry>
<title>uml: install panic notifier earlier</title>
<updated>2008-02-05T17:44:29Z</updated>
<author>
<name>Jeff Dike</name>
</author>
<published>2008-02-05T06:31:08Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0983a88b9f0ceffb2116ce92c7b273ce2aec7b93'/>
<id>urn:sha1:0983a88b9f0ceffb2116ce92c7b273ce2aec7b93</id>
<content type='text'>
It turns out that if there's a panic early enough, UML will just sit there in
the LED-blinking loop because the panic notifier hadn't been installed yet.

This patch installs it earlier.

It also fixes the problem which exposed the hang, namely that if you give UML
a zero-sized initrd, it will ask alloc_bootmem for zero bytes, and that will
cause the panic.

While I was in initrd.c, I gave it a style makeover.

Prompted by checkpatch, I moved a couple extern declarations of uml_exitcode
to kern_util.h.

Signed-off-by: Jeff Dike &lt;jdike@linux.intel.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@linux-foundation.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@linux-foundation.org&gt;
</content>
</entry>
</feed>
