<feed xmlns='http://www.w3.org/2005/Atom'>
<title>history/kernel, branch master</title>
<subtitle>Linux kernel history
</subtitle>
<id>https://git.shady.money/history/atom?h=master</id>
<link rel='self' href='https://git.shady.money/history/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/'/>
<updated>2005-04-04T01:06:56Z</updated>
<entry>
<title>[PATCH] cpuset.c __user annotations</title>
<updated>2005-04-04T01:06:56Z</updated>
<author>
<name>Alexander Viro</name>
<email>viro@www.linux.org.uk</email>
</author>
<published>2005-04-04T01:06:56Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=6bcca14e4f981a2572de572911f0f94ee87078ff'/>
<id>urn:sha1:6bcca14e4f981a2572de572911f0f94ee87078ff</id>
<content type='text'>
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
Signed-off-by: Al Viro &lt;viro@parcelfarce.linux.theplanet.co.uk&gt;
</content>
</entry>
<entry>
<title>[PATCH] vt: don't call unblank at irq time</title>
<updated>2005-03-31T00:41:23Z</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2005-03-31T00:41:23Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=79568b259e375ca02af4263b18abfb5d91e626c7'/>
<id>urn:sha1:79568b259e375ca02af4263b18abfb5d91e626c7</id>
<content type='text'>
This patch removes the call to unblank() from printk, and avoids calling
unblank at irq() time _unless_ oops_in_progress is 1.  I also export
oops_in_progress() so drivers who care like radeonfb can test it and know
what to do.  I audited call sites of unblank_screen(), console_unblank(),
etc...  and I _hope_ I got them all, the patch includes a small patch to
the s390 bust_spinlocks code that sets oops_in_progress back to 0 _after_
unblanking for example.

I added a few might_sleep() to help us catch possible remaining callers.

I'll soon write a document explaining fbdev locking.  The current situation
after this patch is that:

- All callbacks have console_semaphore held (fbdev's are fully
  serialised).

- Everything is called in schedule'able context, except the cfb_*
  rendering operations and cursor operations, with the special case of
  unblank who can be called at any time when "oops_in_progress" is true.  A
  driver that needs to sleep in it's unblank implementation is welcome to
  test that variable and use a fallback path (or just do nothing if it's
  not simple).

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&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>[PATCH] sched: fix schedstats warning</title>
<updated>2005-03-31T00:40:49Z</updated>
<author>
<name>Nick Piggin</name>
<email>nickpiggin@yahoo.com.au</email>
</author>
<published>2005-03-31T00:40:49Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=535684d309abf536c76c92ba659261b8ba074636'/>
<id>urn:sha1:535684d309abf536c76c92ba659261b8ba074636</id>
<content type='text'>
Quiet a warning when compiling without CONFIG_SMP

Signed-off-by: Nick Piggin &lt;nickpiggin@yahoo.com.au&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>[PATCH] kernel/rcupdate.c: make the exports EXPORT_SYMBOL_GPL</title>
<updated>2005-03-31T00:39:08Z</updated>
<author>
<name>Adrian Bunk</name>
<email>bunk@stusta.de</email>
</author>
<published>2005-03-31T00:39:08Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=a3fdc0fa3b338831d3fd2c8d2442807de072ef90'/>
<id>urn:sha1:a3fdc0fa3b338831d3fd2c8d2442807de072ef90</id>
<content type='text'>
Due to the patent situation at least in the USA, the exports of
kernel/rcupdate.c should be EXPORT_SYMBOL_GPL.

Signed-off-by: Adrian Bunk &lt;bunk@stusta.de&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>[PATCH] seccomp for ppc64</title>
<updated>2005-03-31T00:31:40Z</updated>
<author>
<name>Andrea Arcangeli</name>
<email>andrea@cpushare.com</email>
</author>
<published>2005-03-31T00:31:40Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=b053dc29dcde8ec09e85fc71633f5b881d06cc09'/>
<id>urn:sha1:b053dc29dcde8ec09e85fc71633f5b881d06cc09</id>
<content type='text'>
This patch against 12-rc1 adds seccomp to the ppc64 arch.  I tested it
successfully with the seccomp_test.  I didn't bother to change the syscall
exit not to check for TIF_SECCOMP, in theory that bit could be optimized
but it's an optimization in the slow path, and current code is a bit
simpler.  I also verified it still compiles and works fine on x86 and
x86-64.

Instead of the TIF_32BIT redefine, if you want to change x86-64 to use
TIF_32BIT too (instead of TIF_IA32), let me know.

Signed-off-by: Andrea Arcangeli &lt;andrea@cpushare.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>[PATCH] cpuset: make function decl. ANSI</title>
<updated>2005-03-31T00:28:13Z</updated>
<author>
<name>Randy Dunlap</name>
<email>rddunlap@osdl.org</email>
</author>
<published>2005-03-31T00:28:13Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=6f574f647a9de09f8a4c636fee6501b6cc1f3872'/>
<id>urn:sha1:6f574f647a9de09f8a4c636fee6501b6cc1f3872</id>
<content type='text'>
kernel/cpuset.c:1428:41: warning: non-ANSI function declaration

Signed-off-by: Randy Dunlap &lt;rddunlap@osdl.org&gt;
Acked-by: Paul Jackson &lt;pj@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>[PATCH] BDI: Provide backing device capability information [try #3]</title>
<updated>2005-03-31T00:27:05Z</updated>
<author>
<name>David Howells</name>
<email>dhowells@redhat.com</email>
</author>
<published>2005-03-31T00:27:05Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=883108b9b92b3232b114d4466222332f8529235e'/>
<id>urn:sha1:883108b9b92b3232b114d4466222332f8529235e</id>
<content type='text'>
The attached patch replaces backing_dev_info::memory_backed with capabilitied
bitmap. The capabilities available include:

  (*) BDI_CAP_NO_ACCT_DIRTY

      Set if the pages associated with this backing device should not be
      tracked by the dirty page accounting.

  (*) BDI_CAP_NO_WRITEBACK

      Set if dirty pages associated with this backing device should not have
      writepage() or writepages() invoked upon them to clean them.

  (*) Capability markers that indicate what a backing device is capable of
      with regard to memory mapping facilities. These flags indicate whether a
      device can be mapped directly, whether it can be copied for a mapping,
      and whether direct mappings can be read, written and/or executed. This
      information is primarily aimed at improving no-MMU private mapping
      support.

The patch also provides convenience functions for determining the dirty-page
capabilities available on backing devices directly or on the backing devices
associated with a mapping. These are provided to keep line length down when
checking for the capabilities.

Signed-Off-By: David Howells &lt;dhowells@redhat.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>Merge whitespace and __nocast changes</title>
<updated>2005-03-28T12:43:20Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@evo.osdl.org</email>
</author>
<published>2005-03-28T12:43:20Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=5a00e89e1cc9dcea7507aca74eabf5bceb26967f'/>
<id>urn:sha1:5a00e89e1cc9dcea7507aca74eabf5bceb26967f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[PATCH] Futex: make futex_wait() atomic again</title>
<updated>2005-03-28T12:00:54Z</updated>
<author>
<name>Jakub Jelínek</name>
<email>jakub@redhat.com</email>
</author>
<published>2005-03-28T12:00:54Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=58aceba09b4f67abd309d199de8f2da375f45e88'/>
<id>urn:sha1:58aceba09b4f67abd309d199de8f2da375f45e88</id>
<content type='text'>
Call get_futex_value_locked in futex_wait with futex hash bucket locked and
only enqueue the futex if futex has the expected value.  Simplify
futex_requeue.

Signed-off-by: Jakub Jelinek &lt;jakub@redhat.com&gt;
Acked-by: Ingo Molnar &lt;mingo@elte.hu&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>[PATCH] posix-cpu-timers and cputime_t divisons.</title>
<updated>2005-03-28T12:00:22Z</updated>
<author>
<name>Martin Schwidefsky</name>
<email>schwidefsky@de.ibm.com</email>
</author>
<published>2005-03-28T12:00:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/history/commit/?id=7b8f061e04e3090a40f2828434f17c9003013cc7'/>
<id>urn:sha1:7b8f061e04e3090a40f2828434f17c9003013cc7</id>
<content type='text'>
The posix cpu timers introduced code that will not work with an arbitrary
type for cputime_t.  In particular the division of two cputime_t values
broke the s390 build because cputime_t is define as an unsigned long long.

The first problem is the division of a cputime_t value by a number of
threads.  That is a cputime_t divided by an integer.  The patch adds
another macro cputime_div to the cputime macro regime which implements this
type of division and replaces all occurences of a cputime / nthread in the
posix cpu timer code.

Next problem is bump_cpu_timer. This function is severly broken:

1) In the body of the first if statement a timer-&gt;it.cpu.incr.sched is
   used as the second argument of do_div.  do_div expects an unsigned long
   as "base" parameter but timer-&gt;it.cpu.incr.sched is an unsigned long
   long.  If the timer increment ever happens to be &gt;= 2^32 the result is
   wrong and if the lower 32 bits are zero this even crashes with a fixed
   point divide exception.

2) The cputime_le(now.cpu, timer-&gt;it.cpu.expires.cpu) in the else if
   condition is wrong.  The cputime_le() reads as "now.cpu &lt;=
   timer-&gt;it.cpu.expires.cpu" and the subsequent cputime_ge() reads as
   "now.cpu &gt;= timer.it.cpu.expires.cpu".  That means that the two values
   needs to be equal to make the body of the second if to have any effect. 
   The first cputime_le should be a cputime_ge.

3) timer-&gt;it.cpu.expires.cpu and delta in the else part of the if are of
   type cputime_t.  A division of two cputime_t values is undefined (think
   of cputime_t as e.g.  a struct timespec, that just doesn't work).  We
   could add a primitive for this type of division but we'd end up with a
   64 bit division or something even more complicated.

The solution for bump_cpu_timer is to use the "slow" division algorithm
that does shifts and subtracts.  That adds yet another cputime macro,
cputime_halve to do the right shift of a cputime value.

The next problem is in arm_timer.  The UPDATE_CLOCK macro does the wrong
thing for it_prof_expires and it_virt_expires.  Expanded the macro and
added the cputime magic to it_prof/it_virt.

The remaining problems are rather simple, timespec_to_jiffies instead of
timespec_to_cputime and several cases where cputime_eq with cputime_zero
needs to be used instead of "== 0".

What still worries me a bit is to use "timer-&gt;it.cpu.incr.sched == 0" as
check if the timer is armed at all.  It should work but its not really
clean.

Signed-off-by: Martin Schwidefsky &lt;schwidefsky@de.ibm.com&gt;
Signed-off-by: Andrew Morton &lt;akpm@osdl.org&gt;
Signed-off-by: Linus Torvalds &lt;torvalds@osdl.org&gt;
</content>
</entry>
</feed>
