1. 01 Nov, 2002 25 commits
  2. 31 Oct, 2002 15 commits
    • Linus Torvalds's avatar
      Merge http://lia64.bkbits.net/to-linus-2.5 · 19cdce9c
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      19cdce9c
    • Linus Torvalds's avatar
      Merge bk://linux-bt.bkbits.net/bt-2.5 · 2b738648
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      2b738648
    • David Mosberger's avatar
      ia64: Update defconfig. · 50155729
      David Mosberger authored
      50155729
    • Erich Focht's avatar
      [PATCH] ia64: 2.5.44 NUMA fixups · b3dc1acc
      Erich Focht authored
      Dear David,
      
      please find attached two patches for the latest 2.5.44-ia64. They fix
      some problems and simplify things a bit.
      
      remove_nodeid-2.5.44.patch:
      This comes from Kimi. In 2.5.44 we suddenly had two definitions for
      numa_node_id(), one was IA64 specific (local_cpu_data->nodeid) while
      the other one is now platform independent:
      __cpu_to_node(smp_processor_id()). After some discussions we decided
      to remove the nodeid from the local_cpu_data and keep the definition of
      all other platforms. With using the cpu_to_node_map[] we are also
      faster when doing multiple lookups, as all node ids come in a single
      cache line (which is not bounced around, as it's content is only
      read).
      
      
      ia64_topology_fixup-2.5.44.patch:
      I'm following here the latest fixup for i386 from Matthew Dobson. The
      __node_to_cpu_mask() macro now accesses an array which is initialized
      after the ACPI CPU discovery. It also simplifies
      __node_to_first_cpu(). A compiler warning has been fixed, too.
      
      
      Please apply these to your kernel tree.
      b3dc1acc
    • David Mosberger's avatar
      ia64: Sync up with 2.5.45. · a376ed89
      David Mosberger authored
      a376ed89
    • Robert Love's avatar
      [PATCH] fix UP proc.c compile warning · 715814fd
      Robert Love authored
      The hyper-threading in /proc/cpuinfo patch introduced a compile warning
      under UP.
      
      Fixed thus.
      715814fd
    • Luca Barbieri's avatar
      [PATCH] Clear TLS on execve · 490f7ca4
      Luca Barbieri authored
      This trivial patch causes the TLS to be cleared on execve (code is in
      flush_thread).  This is necessary to avoid ESRCH errors when
      set_thread_area is asked to choose a free TLS entry after several nested
      execve's.
      
      The LDT also has a similar problem, but it is less serious because the
      LDT code doesn't scan for free entries.  I'll probably send a patch to
      fix this too, unless there is something important relying on this
      behavior.
      490f7ca4
    • Linus Torvalds's avatar
      Merge bk://cifs.bkbits.net/linux-2.5cifs · 08b27f50
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      08b27f50
    • John Levon's avatar
      [PATCH] fix APIC errors on oprofile restore · c8a9fb59
      John Levon authored
      As per comment:
      
        restoring APIC_LVTPC can trigger an apic error because the delivery
        mode and vector nr combination can be illegal. That's by design: on
        power on apic lvt contain a zero vector nr which are legal only for
        NMI delivery mode. So inhibit apic err before restoring lvtpc
      c8a9fb59
    • John Levon's avatar
      [PATCH] fix sys_lookup_dcookie prototype · 1c03b1a9
      John Levon authored
      We need to use u64 because the future 64-bit ports can theoretically
      return the same value for two different dentries, as pointed out by
      Ulrich Weigand.
      
      The patch also changes return value of the syscall to give length of
      data copied, needed for valgrind support (this bit is by Philippe Elie).
      
      Note this is not a complete fix for mixed 32/64: userspace needs to
      figure out the kernel pointer size when reading from the buffer. But
      that's another fix...
      
      NOTE! any oprofile users will need to upgrade after this goes in, and
      the user-space equivalent is checked into CVS.  Sorry for the inconvenience
      1c03b1a9
    • Andrew Morton's avatar
      [PATCH] additional arch support for per-cpu kernel_stat · 97679f9c
      Andrew Morton authored
      Companion to the previous patch: all the support needed for non-ia32
      architectures.
      97679f9c
    • Andrew Morton's avatar
      [PATCH] make kernel_stat use per-cpu infrastructure · fd3e6205
      Andrew Morton authored
      Patch from Ravikiran G Thirumalai <kiran@in.ibm.com>
      
      1. Break out disk stats from kernel_stat and move disk stat to blkdev.h
      
      2. Group cpu stat in kernel_stat and make them "per_cpu" instead of
         the NR_CPUS array
      
      3. Remove EXPORT_SYMBOL(kstat) from ksyms.c (as I noticed that no module is
         using kstat)
      fd3e6205
    • Andrew Morton's avatar
      [PATCH] uninlining in ipc/* · 8f2215c6
      Andrew Morton authored
      Uninlines some large functions in the ipc code.
      
      Before:
         text    data     bss     dec     hex filename
        30226     224     192   30642    77b2 ipc/built-in.o
      
      After:
         text    data     bss     dec     hex filename
        20274     224     192   20690    50d2 ipc/built-in.o
      8f2215c6
    • Andrew Morton's avatar
      [PATCH] use RCU for IPC locking · bb468c02
      Andrew Morton authored
      Patch from Mingming, Rusty, Hugh, Dipankar, me:
      
      - It greatly reduces the lock contention by having one lock per id.
        The global spinlock is removed and a spinlock is added in
        kern_ipc_perm structure.
      
      - Uses ReadCopyUpdate in grow_ary() for locking-free resizing.
      
      - In the places where ipc_rmid() is called, delay calling ipc_free()
        to RCU callbacks.  This is to prevent ipc_lock() returning an invalid
        pointer after ipc_rmid().  In addition, use the workqueue to enable
        RCU freeing vmalloced entries.
      
      Also some other changes:
      
      - Remove redundant ipc_lockall/ipc_unlockall
      
      - Now ipc_unlock() directly takes IPC ID pointer as argument, avoid
        extra looking up the array.
      
      The changes are made based on the input from Huge Dickens, Manfred
      Spraul and Dipankar Sarma.  In addition, Cliff White has run OSDL's
      dbt1 test on a 2 way against the earlier version of this patch.
      Results shows about 2-6% improvement on the average number of
      transactions per second.  Here is the summary of his tests:
      
                              2.5.42-mm2      2.5.42-mm2-ipclock
      			-----------------------------
      Average over 5 runs     85.0 BT         89.8 BT
      Std Deviation 5 runs     7.4  BT         1.0 BT
      
      Average over 4 best     88.15 BT        90.2 BT
      Std Deviation 4 best     2.8 BT          0.5 BT
      
      
      Also, another test today from Bill Hartner:
      
      I tested Mingming's RCU ipc lock patch using a *new* microbenchmark - semopbench.
      semopbench was written to test the performance of Mingming's patch.
      I also ran a 3 hour stress and it completed successfully.
      
      Explanation of the microbenchmark is below the results.
      Here is a link to the microbenchmark source.
      
      http://www-124.ibm.com/developerworks/opensource/linuxperf/semopbench/semopbench.c
      
      SUT : 8-way 700 Mhz PIII
      
      I tested 2.5.44-mm2 and 2.5.44-mm2 + RCU ipc patch
      
      >semopbench -g 64 -s 16 -n 16384 -r > sem.results.out
      >readprofile -m /boot/System.map | sort -n +0 -r > sem.profile.out
      
      The metric is seconds / per repetition.  Lower is better.
      
      kernel              run 1     run 2
                          seconds   seconds
      ==================  =======   =======
      2.5.44-mm2          515.1       515.4
      2.5.44-mm2+rcu-ipc   46.7        46.7
      
      With Mingming's patch, the test completes 10X faster.
      bb468c02
    • Andrew Morton's avatar
      [PATCH] tmpfs support for remap_file_pages · 0a4b1945
      Andrew Morton authored
      From Hugh
      
      Instate Ingo's shmem_populate on top of the previous patches, now using
      shmem_getpage(,,,SGP_QUICK) for the nonblocking case (its find_lock_page
      may block, but rarely for long).  Note install_page will need redefining
      if PAGE_CACHE_SIZE departs from PAGE_SIZE; note pgoff to populate must
      be in terms of PAGE_SIZE; note page_cache_release if install_page fails.
      
      filemap_populate similarly needs page_cache_release when install_page
      fails, but filemap.c not included in this patch since we started out
      from 2.5.43 rather than 2.5.43-mm2: whereas patches 1-8 could go
      directly to 2.5.43, this 9/9 belongs with Ingo's population work.
      0a4b1945