<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/ia64/kernel/entry.S, branch linux-2.6.13.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.13.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-2.6.13.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2005-08-01T17:03:56Z</updated>
<entry>
<title>[PATCH] remove sys_set_zone_reclaim()</title>
<updated>2005-08-01T17:03:56Z</updated>
<author>
<name>Ingo Molnar</name>
</author>
<published>2005-08-01T11:39:13Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6cb54819d7b1867053e2dfd8c0ca3a8dc65a7eff'/>
<id>urn:sha1:6cb54819d7b1867053e2dfd8c0ca3a8dc65a7eff</id>
<content type='text'>
This removes sys_set_zone_reclaim() for now.  While i'm sure Martin is
trying to solve a real problem, we must not hard-code an incomplete and
insufficient approach into a syscall, because syscalls are pretty much
for eternity.  I am quite strongly convinced that this syscall must not
hit v2.6.13 in its current form.

Firstly, the syscall lacks basic syscall design: e.g. it allows the
global setting of VM policy for unprivileged users. (!) [ Imagine an
Oracle installation and a SAP installation on the same NUMA box fighting
over the 'optimal' setting for this flag. What will they do? Will they
try to set the flag to their own preferred value every second or so? ]

Secondly, it was added based on a single datapoint from Martin:

 http://marc.theaimsgroup.com/?l=linux-mm&amp;m=111763597218177&amp;w=2

where Martin characterizes the numbers the following way:

 ' Run-to-run variability for "make -j" is huge, so these numbers aren't
   terribly useful except to see that with reclaim the benchmark still
   finishes in a reasonable amount of time. '

in other words: the fundamental problem has likely not been solved, only
a tendential move into the right direction has been observed, and a
handful of numbers were picked out of a set of hugely variable results,
without showing the variability data. How much variance is there
run-to-run?

I'd really suggest to first walk the walk and see what's needed to get
stable &amp; predictable kernel compilation numbers on that NUMA box, before
adding random syscalls to tune a particular aspect of the VM ... which
approach might not even matter once the whole picture has been analyzed
and understood!

The third, most important point is that the syscall exposes VM tuning
internals in a completely unstructured way. What sense does it make to
have a _GLOBAL_ per-node setting for 'should we go to another node for
reclaim'? If then it might make sense to do this per-app, via numalib or
so.

The change is minimalistic in that it doesnt remove the syscall and the
underlying infrastructure changes, only the user-visible changes.  We
could perhaps add a CAP_SYS_ADMIN-only sysctl for this hack, a'ka
/proc/sys/vm/swappiness, but even that looks quite counterproductive
when the generic approach is that we are trying to reduce the number of
external factors in the VM balance picture.

Signed-off-by: Ingo Molnar &lt;mingo@elte.hu&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[IA64] inotify: ia64 syscalls.</title>
<updated>2005-07-27T17:46:12Z</updated>
<author>
<name>Robert Love</name>
</author>
<published>2005-07-27T15:58:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d108919b2b5c064946c9bd30cbd4761d491cddb0'/>
<id>urn:sha1:d108919b2b5c064946c9bd30cbd4761d491cddb0</id>
<content type='text'>
Attached patch adds the inotify syscalls to ia64.

Signed-off-by: Robert Love &lt;rml@novell.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>[IA64] Fix a typo in arch/ia64/kernel/entry.S</title>
<updated>2005-07-08T20:23:49Z</updated>
<author>
<name>H. J. Lu</name>
</author>
<published>2005-07-08T19:25:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=763b3917e779c9c25d56fc71a796774185cd6ce2'/>
<id>urn:sha1:763b3917e779c9c25d56fc71a796774185cd6ce2</id>
<content type='text'>
Both 2.4 and 2.6 kernels need this patch for the next binutils.

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>Auto merge with /home/aegl/GIT/ia64-test</title>
<updated>2005-06-28T15:24:49Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2005-06-28T15:24:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=54522b6613a03807f057fd567794a31267ef85cb'/>
<id>urn:sha1:54522b6613a03807f057fd567794a31267ef85cb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[PATCH] Update cfq io scheduler to time sliced design</title>
<updated>2005-06-27T21:33:29Z</updated>
<author>
<name>Jens Axboe</name>
</author>
<published>2005-06-27T08:55:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=22e2c507c301c3dbbcf91b4948b88f78842ee6c9'/>
<id>urn:sha1:22e2c507c301c3dbbcf91b4948b88f78842ee6c9</id>
<content type='text'>
This updates the CFQ io scheduler to the new time sliced design (cfq
v3).  It provides full process fairness, while giving excellent
aggregate system throughput even for many competing processes.  It
supports io priorities, either inherited from the cpu nice value or set
directly with the ioprio_get/set syscalls.  The latter closely mimic
set/getpriority.

This import is based on my latest from -mm.

Signed-off-by: Jens Axboe &lt;axboe@suse.de&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>[PATCH] VM: early zone reclaim</title>
<updated>2005-06-22T01:46:14Z</updated>
<author>
<name>Martin Hicks</name>
</author>
<published>2005-06-22T00:14:41Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=753ee728964e5afb80c17659cc6c3a6fd0a42fe0'/>
<id>urn:sha1:753ee728964e5afb80c17659cc6c3a6fd0a42fe0</id>
<content type='text'>
This is the core of the (much simplified) early reclaim.  The goal of this
patch is to reclaim some easily-freed pages from a zone before falling back
onto another zone.

One of the major uses of this is NUMA machines.  With the default allocator
behavior the allocator would look for memory in another zone, which might be
off-node, before trying to reclaim from the current zone.

This adds a zone tuneable to enable early zone reclaim.  It is selected on a
per-zone basis and is turned on/off via syscall.

Adding some extra throttling on the reclaim was also required (patch
4/4).  Without the machine would grind to a crawl when doing a "make -j"
kernel build.  Even with this patch the System Time is higher on
average, but it seems tolerable.  Here are some numbers for kernbench
runs on a 2-node, 4cpu, 8Gig RAM Altix in the "make -j" run:

			wall  user   sys   %cpu  ctx sw.  sleeps
			----  ----   ---   ----   ------  ------
No patch		1009  1384   847   258   298170   504402
w/patch, no reclaim     880   1376   667   288   254064   396745
w/patch &amp; reclaim       1079  1385   926   252   291625   548873

These numbers are the average of 2 runs of 3 "make -j" runs done right
after system boot.  Run-to-run variability for "make -j" is huge, so
these numbers aren't terribly useful except to seee that with reclaim
the benchmark still finishes in a reasonable amount of time.

I also looked at the NUMA hit/miss stats for the "make -j" runs and the
reclaim doesn't make any difference when the machine is thrashing away.

Doing a "make -j8" on a single node that is filled with page cache pages
takes 700 seconds with reclaim turned on and 735 seconds without reclaim
(due to remote memory accesses).

The simple zone_reclaim syscall program is at
http://www.bork.org/~mort/sgi/zone_reclaim.c

Signed-off-by: Martin Hicks &lt;mort@sgi.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
<entry>
<title>Auto merge with /home/aegl/GIT/linus</title>
<updated>2005-06-15T21:06:48Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2005-06-15T21:06:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f2cbb4f01936a3e4225692e03b084b78c56d386d'/>
<id>urn:sha1:f2cbb4f01936a3e4225692e03b084b78c56d386d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge with temp tree to get David's gdb inferior calls patch</title>
<updated>2005-05-17T22:53:14Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2005-05-17T22:53:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=325a479c4c110db278ef3361460a48c4093252cc'/>
<id>urn:sha1:325a479c4c110db278ef3361460a48c4093252cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[IA64] Avoid .spillpsp directive in handcoded assembly</title>
<updated>2005-05-10T20:52:00Z</updated>
<author>
<name>David Mosberger-Tang</name>
</author>
<published>2005-05-04T13:42:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bfd68594082d8384781c242aa72a7950b5cf51aa'/>
<id>urn:sha1:bfd68594082d8384781c242aa72a7950b5cf51aa</id>
<content type='text'>
Some time ago, GAS was fixed to bring the .spillpsp directive in line
with the Intel assembler manual (there was some disagreement as to
whether or not there is a built-in 16-byte offset).  Unfortunately,
there are two places in the kernel where this directive is used in
handwritten assembly files and those of course relied on the "buggy"
behavior.  As a result, when using a "fixed" assembler, the kernel
picks up the UNaT bits from the wrong place (off by 16) and randomly
sets NaT bits on the scratch registers.  This can be noticed easily by
looking at a coredump and finding various scratch registers with
unexpected NaT values.  The patch below fixes this by using the
.spillsp directive instead, which works correctly no matter what
assembler is in use.

Signed-off-by: David Mosberger-Tang &lt;davidm@hpl.hp.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>[IA64] fix typos caught by new assembler</title>
<updated>2005-05-03T17:56:42Z</updated>
<author>
<name>David Mosberger-Tang</name>
</author>
<published>2005-03-25T07:16:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9df6f705c0934a49d0f0a3468a5b5044c8aec4f1'/>
<id>urn:sha1:9df6f705c0934a49d0f0a3468a5b5044c8aec4f1</id>
<content type='text'>
Patch below fixes 3 trivial typos which are caught by the new
assembler (v2.169.90).  Please apply.

[Note: fix to memcpy that was also part of this patch was separately
 applied from patches by H.J. and Andreas ... so the delta here only
 has the other two fixes. -Tony]

Signed-off-by: David Mosberger-Tang &lt;davidm@hpl.hp.com&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
</feed>
