<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/arch/ia64/kernel/fsys.S, branch linux-3.7.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-3.7.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2012-05-16T21:09:55Z</updated>
<entry>
<title>[IA64] Liberate the signal layer from IA64 assembler</title>
<updated>2012-05-16T21:09:55Z</updated>
<author>
<name>Andi Kleen</name>
</author>
<published>2012-05-14T22:00:12Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4035c6db5a9dedf5e79c502bf39389a0b714cb38'/>
<id>urn:sha1:4035c6db5a9dedf5e79c502bf39389a0b714cb38</id>
<content type='text'>
Currently IA64 has a assembler implementation of sigrtprocmask.
Having a single architecture implement this in assembler language
is a serious maintenance problem that inhibits further evolution of the
signal subsystem.  Everyone who wants to do deep changes to signals
would need to learn that assembler language.

Whatever performance improvements IA64 gets from this it cannot be worth
the price in maintainability.

We have some locking problems in signal that need to be fixed,
but this roadblock needs to be removed first.

So just disable the special assembler IA64 implementation and fall back to a
normal syscall there.

Acked-by: Matt Fleming &lt;matt.fleming@intel.com&gt;
Signed-off-by: Andi Kleen &lt;andi@firstfloor.org&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>[IA64] Fix fast syscall version of getcpu()</title>
<updated>2012-05-16T20:58:29Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2012-05-16T20:58:29Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7411d89535ce803404678eaf7e2f7ce095cf46b2'/>
<id>urn:sha1:7411d89535ce803404678eaf7e2f7ce095cf46b2</id>
<content type='text'>
GETCPU(2) says:
  int getcpu(unsigned *cpu, unsigned *node, struct getcpu_cache *tcache);
  ...
  When either cpu or node is NULL nothing is written to the respective pointer.

But the fast system call path had no checks for NULL, and would
thus return -EFAULT if either (or both) of these were NULL.

Reported-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Tested-by: Mike Frysinger &lt;vapier@gentoo.org&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2012-03-29T21:16:48Z</updated>
<author>
<name>Linus Torvalds</name>
</author>
<published>2012-03-29T21:16:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=bcd550745fc54f789c14e7526e0633222c505faa'/>
<id>urn:sha1:bcd550745fc54f789c14e7526e0633222c505faa</id>
<content type='text'>
Pull timer core updates from Thomas Gleixner.

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  ia64: vsyscall: Add missing paranthesis
  alarmtimer: Don't call rtc_timer_init() when CONFIG_RTC_CLASS=n
  x86: vdso: Put declaration before code
  x86-64: Inline vdso clock_gettime helpers
  x86-64: Simplify and optimize vdso clock_gettime monotonic variants
  kernel-time: fix s/then/than/ spelling errors
  time: remove no_sync_cmos_clock
  time: Avoid scary backtraces when warning of &gt; 11% adj
  alarmtimer: Make sure we initialize the rtctimer
  ntp: Fix leap-second hrtimer livelock
  x86, tsc: Skip refined tsc calibration on systems with reliable TSC
  rtc: Provide flag for rtc devices that don't support UIE
  ia64: vsyscall: Use seqcount instead of seqlock
  x86: vdso: Use seqcount instead of seqlock
  x86: vdso: Remove bogus locking in update_vsyscall_tz()
  time: Remove bogus comments
  time: Fix change_clocksource locking
  time: x86: Fix race switching from vsyscall to non-vsyscall clock
</content>
</entry>
<entry>
<title>Disintegrate asm/system.h for IA64</title>
<updated>2012-03-28T17:30:02Z</updated>
<author>
<name>David Howells</name>
</author>
<published>2012-03-28T17:30:02Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=c140d87995b68b428f70635c2e4071e4e8b3256e'/>
<id>urn:sha1:c140d87995b68b428f70635c2e4071e4e8b3256e</id>
<content type='text'>
Disintegrate asm/system.h for IA64.

Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;
Acked-by: Tony Luck &lt;tony.luck@intel.com&gt;
cc: linux-ia64@vger.kernel.org
</content>
</entry>
<entry>
<title>ia64: vsyscall: Use seqcount instead of seqlock</title>
<updated>2012-03-16T01:17:59Z</updated>
<author>
<name>Thomas Gleixner</name>
</author>
<published>2012-02-28T19:46:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=74a622be3db2898251cb524d1edbeaea589f2723'/>
<id>urn:sha1:74a622be3db2898251cb524d1edbeaea589f2723</id>
<content type='text'>
The update of the vdso data happens under xtime_lock, so adding a
nested lock is pointless. Just use a seqcount to sync the readers.

Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;
Cc: Tony Luck &lt;tony.luck@intel.com&gt;
Signed-off-by: John Stultz &lt;john.stultz@linaro.org&gt;
</content>
</entry>
<entry>
<title>[IA64] Optimize ticket spinlocks in fsys_rt_sigprocmask</title>
<updated>2010-09-15T22:35:48Z</updated>
<author>
<name>Petr Tesarik</name>
</author>
<published>2010-09-15T22:35:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=2d2b6901649a62977452be85df53eda2412def24'/>
<id>urn:sha1:2d2b6901649a62977452be85df53eda2412def24</id>
<content type='text'>
Tony's fix (f574c843191728d9407b766a027f779dcd27b272) has a small bug,
it incorrectly uses "r3" as a scratch register in the first of the two
unlock paths ... it is also inefficient.  Optimize the fast path again.

Signed-off-by: Petr Tesarik &lt;ptesarik@suse.cz&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>[IA64] fix siglock</title>
<updated>2010-09-09T22:16:56Z</updated>
<author>
<name>Tony Luck</name>
</author>
<published>2010-09-09T22:16:56Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=f574c843191728d9407b766a027f779dcd27b272'/>
<id>urn:sha1:f574c843191728d9407b766a027f779dcd27b272</id>
<content type='text'>
When ia64 converted to using ticket locks, an inline implementation
of trylock/unlock in fsys.S was missed.  This was not noticed because
in most circumstances it simply resulted in using the slow path because
the siglock was apparently not available (under old spinlock rules).

Problems occur when the ticket spinlock has value 0x0 (when first
initialised, or when it wraps around). At this point the fsys.S
code acquires the lock (changing the 0x0 to 0x1. If another process
attempts to get the lock at this point, it will change the value from
0x1 to 0x2 (using new ticket lock rules). Then the fsys.S code will
free the lock using old spinlock rules by writing 0x0 to it. From
here a variety of bad things can happen.

Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>ia64/pv_ops: paravirtualize mov = ar.itc.</title>
<updated>2009-03-26T17:50:22Z</updated>
<author>
<name>Isaku Yamahata</name>
</author>
<published>2009-03-04T12:05:38Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=94752a794ddfdef65289a16627faefa7e2e62d58'/>
<id>urn:sha1:94752a794ddfdef65289a16627faefa7e2e62d58</id>
<content type='text'>
paravirtualize mov reg = ar.itc.

Signed-off-by: Isaku Yamahata &lt;yamahata@valinux.co.jp&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>ia64/pv_ops: paravirtualize fsys.S.</title>
<updated>2009-03-26T17:50:01Z</updated>
<author>
<name>Isaku Yamahata</name>
</author>
<published>2009-03-04T12:05:36Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=84b8857a038c060535dafdc8732a1ed60d0e98fc'/>
<id>urn:sha1:84b8857a038c060535dafdc8732a1ed60d0e98fc</id>
<content type='text'>
paravirtualize fsys.S.

Signed-off-by: Isaku Yamahata &lt;yamahata@valinux.co.jp&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
<entry>
<title>ia64/pv_ops: add hooks to paravirtualize fsyscall implementation.</title>
<updated>2009-03-26T17:48:33Z</updated>
<author>
<name>Isaku Yamahata</name>
</author>
<published>2009-03-04T12:05:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd97d5cb540939602cba9af6f88e883a6fe451f0'/>
<id>urn:sha1:dd97d5cb540939602cba9af6f88e883a6fe451f0</id>
<content type='text'>
Add two hooks, paravirt_get_fsyscall_table() and
paravirt_get_fsys_bubble_doen() to paravirtualize fsyscall implementation.
This patch just add the hooks fsyscall and don't paravirtualize it.

Signed-off-by: Isaku Yamahata &lt;yamahata@valinux.co.jp&gt;
Signed-off-by: Tony Luck &lt;tony.luck@intel.com&gt;
</content>
</entry>
</feed>
