1. 10 May, 2004 40 commits
    • Andrew Morton's avatar
      [PATCH] get_thread_area macro fixes · ed59cb75
      Andrew Morton authored
      From: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
      
      one of the macros for get_thread_area extracts the wrong bit.  The
      "32bit" field is in bit 22, not 23 (as can be seen in desc.h). 
      
      [ Fix ia64/x86-64 too, while we're at it. Linus ]
      ed59cb75
    • Andrew Morton's avatar
      [PATCH] Add SMT setup for domain scheduler on x86-64 · 5034465f
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      Set up SMT for the domain scheduler on x86-64.  This way the scheduling
      works better on HyperThreading aware systems; in particular it will use
      both physical CPUs before sharing two virtual CPUs on the same package. 
      This improves performance considerably in some cases.
      
      Based on the i386 code and a previous patch from Suresh B. Siddha.
      5034465f
    • Andrew Morton's avatar
      [PATCH] x86-64: convert sibling map to masks · b5c58730
      Andrew Morton authored
      From: Andi Kleen <ak@muc.de>
      
      From: Suresh B. Siddha
      
      Convert sibling map on x86-64 to cpumasks.
      
      This is needed for the SMT patches.
      b5c58730
    • Linus Torvalds's avatar
      d03480a1
    • Andrew Morton's avatar
      [PATCH] Fix __down Tainting Kernel with CONFIG_MODVERSIONS=y · b188bcda
      Andrew Morton authored
      From: Rusty Russell <rusty@rustcorp.com.au>
      
      PowerPC64 ABI has ".funcname" (the actual function) and "funcname" (the
      function descriptor) and we strip off the dots in "dedotify" called from
      module_frob_arch_sections().  We need to also de-dotify the corresponding
      names in the __version section.
      
      Actually has nothing to do with __down, it's just that we only print the
      first symbol whose version is missing.
      b188bcda
    • Andrew Morton's avatar
      [PATCH] PPC termio fix · 5a3e2446
      Andrew Morton authored
      From: Paul Mackerras <paulus@samba.org>
      
      It turns out that we are not handling the TABDLY bits of the termios
      c_oflag field correctly on PPC, PPC64 and Alpha.  These three architectures
      have a value for XTABS that is different from the TAB3 value.  POSIX
      specifies that setting the TABDLY field to TAB3 should result in tabs being
      expanded to spaces.  In n_tty.c:opost() we check for O_TABDLY(tty) ==
      XTABS, which is fine on most architectures because they have XTABS == TAB3.
      
      I think the right thing to do is just to change the definition of XTABS to
      be the same as TAB3 on these architectures.  The patch below does this for
      PPC and PPC64 (and I suggest the Alpha maintainer should do the same).  At
      the moment, applications using either the XTABS or TAB3 values won't get
      the expected behaviour.  With this patch, apps that use TAB3 will get the
      expected behaviour.  Apps that use XTABS will need to be recompiled (but
      note that the POSIX-specified name to use is TAB3 not XTABS).
      5a3e2446
    • Andrew Morton's avatar
      [PATCH] remove intermezzo · ffaffb06
      Andrew Morton authored
      Peter Braam said:
      
          I would just like to say that I have no difficulties with intermezzo
          being rm -rf'd.  There are probably only a handful of users.  
      
          In the past 4 years nobody has supported InterMezzo sufficiently for
          it to become successful.  I have been fortunate to get really good support
          for the Lustre project.  So I have focussed on that.  Lustre 1.X has
          become really solid.
      
          The disconnected operation, caching and mirroring functionality of
          InterMezzo will become available in Lustre as a new feature in version 2. 
      
           So I see no point in keeping InterMezzo if it is a nuisance. 
      
      
      The patch removes the references to intermezzo.  Please do a `bk rm' of
      fs/intermezzo.
      ffaffb06
    • Andrew Morton's avatar
      [PATCH] make tags for selinux · 9f15b972
      Andrew Morton authored
      From: Olaf Hering <olh@suse.de>
      
      make tags skips security/selinux/include because of find .  -name include
      -prune This patch does just add it later.  No idea if it can be done
      better.
      9f15b972
    • Andrew Morton's avatar
      [PATCH] fix some typos in sound docs · 10f2b6f5
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      (partially from the debian kernel tree)
      10f2b6f5
    • Andrew Morton's avatar
      [PATCH] telephony/ixj.h: remove kernel 2.2 #ifdef's · 8b1d1b1c
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      The patch below removes two #ifdef's for kernel 2.2 from
      linux-2.6.2-mm1/drivers/telephony/ixj.h
      8b1d1b1c
    • Andrew Morton's avatar
      [PATCH] remove kernel 2.2 code from drivers/net/hamradio/dmascc.c · 8b2e10d7
      Andrew Morton authored
      From: Adrian Bunk <bunk@fs.tum.de>
      
      The patch below removes some #ifdef'd kernel 2.2 code from
      drivers/net/hamradio/dmascc.c.
      8b2e10d7
    • Andrew Morton's avatar
      [PATCH] Crystal cs4235 mixer fix · 2e16180e
      Andrew Morton authored
      From: Joseph Parmelee <jparmele@wildbear.com>
      
      Fixes improper setup of the mixer on Crystal soundcards with the CS4235
      chip.
      2e16180e
    • Andrew Morton's avatar
      [PATCH] export con_set_default_unimap() · 8848944c
      Andrew Morton authored
      fbcon needs this symbol.
      8848944c
    • Andrew Morton's avatar
      [PATCH] Make usermodehelper_init() use core_initcall() · b081d0fe
      Andrew Morton authored
      We may as well make usermodehelper_init() core_initcall as well, to make
      sure its services are avaialble to all the other initcall levels.
      b081d0fe
    • Andrew Morton's avatar
      [PATCH] use core_initcall for binfmt initialisation · 3d207d0b
      Andrew Morton authored
      We need to register the binfmts earlier, so normal initcalls can successfully
      run call_usermodehelper() to execute things.
      3d207d0b
    • Andrew Morton's avatar
      [PATCH] minor RCU optimization · 782a6747
      Andrew Morton authored
      From: Stephen Hemminger <shemminger@osdl.org>
      
      Minor tweak to rcu, use __list_splice instead of list_splice because the
        list has already been checked for empty.
      782a6747
    • Andrew Morton's avatar
      [PATCH] remove MOD_INC_USE_COUNT usage in arch/um/drivers/harddog_kern.c · 414f3455
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      ->open already has a reference so use __module_get.  The file has no
      maintainer noted in it, all credits are from the driver it's copied from.
      414f3455
    • Andrew Morton's avatar
      [PATCH] fix MOD_INC_USE_COUNT usage in mtd · d03500e8
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      mtd driver need to get another reference if ->probe succeeds (strange design
      if you ask me, but what the heck..), and while most drivers have been switched
      to __module_get already two are still missing.
      d03500e8
    • Andrew Morton's avatar
      [PATCH] drivers/video/* MOD_INC_USE_COUNT fixes · 655d8183
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      A bunch of framebuffer drivers use MOD_INC_USE_COUNT to prevent themselves
      from unloading completely - but we have a much easier way to do so, that is
      simply removing the module_exit/cleanup_module handler.
      655d8183
    • Andrew Morton's avatar
      [PATCH] fix MOD_{INC,DEC}_USE_COUNT gunk in arch/um/drivers/net_kern.c · de664d0c
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      Well, UML is pretty out of date in mainline, but I'd like to squash the last
      users of said beasts rather sooner than later.
      de664d0c
    • Andrew Morton's avatar
      [PATCH] kill MOD_{INC,DEC}_USE_COUNT gunk in arch/cris/arch-v10/drivers/pcf8563.c · 05347c79
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      Driver already sets fops->owner so the open/close methods are entirely
      superflous.
      05347c79
    • Andrew Morton's avatar
      [PATCH] kill useless MOD_{INC,DEC}_USE_COUNT in sound/oss/msnd.c · 8e512539
      Andrew Morton authored
      From: Christoph Hellwig <hch@lst.de>
      
      Callers are exported register/unregister handlers so the module is locked in
      core by users of said exports.
      8e512539
    • Andrew Morton's avatar
      [PATCH] cpqarray update for 2.6 · 3dfae718
      Andrew Morton authored
      From: <mikem@beardog.cca.cpqcorp.net>
      
      This patch fixes 2 minor issues that break our Array Configuration utility.
       my_io was changed to a pointer so the & had to removed when using it with
      copy_to_user().
      
      Sometime in 2.5 SG_MAX got changed to 31.  Maybe to copy cciss?  Now I'm
      changing it back to 32 so our app can work.
      3dfae718
    • Andrew Morton's avatar
      [PATCH] Add sysctl to define a hugetlb-capable group · cd053a94
      Andrew Morton authored
      From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>,
            "Seth, Rohit" <rohit.seth@intel.com>
      
      This patch addresses the longstanding problem wherein Oracle needs
      CAP_IPC_LOCK to allocate SHM_HUGETLB shm memory, but people don't want to run
      Oracle as root, and capabilties are busted.
      
      Various ideas with rlimits didn't work out, mainly because these objects live
      beyond the lifetime of the user processes which establish them.
      
      What we do is to create root-writeable /proc/sys/vm/hugetlb_shm_group which
      specifies a single group ID.  Users who belong to that group may allocate
      hugepages for SHM_HUGETLB shm segments.
      
      So the sysadmin will greate a new group, say `hugepageusers', will add the
      oracle user to that group and will write that group's ID into
      /proc/sys/vm/hugetlb_shm_group.
      cd053a94
    • Andrew Morton's avatar
      [PATCH] hugepage: fix add_to_page_cache() error handling · 9008d35b
      Andrew Morton authored
      From: David Gibson <david@gibson.dropbear.id.au>
      
      add_to_page_cache() locks the given page if and only if it suceeds.  The
      hugepage code (every arch), however, does an unlock_page() after
      add_to_page_cache() before checking the return code, which could trip the
      BUG() in unlock_page() if add_to_page_cache() failed.
      
      In practice we've never hit this bug, because the only ways
      add_to_page_cache() can fail are when we fail to allocate a radix tree node
      (very rare), or when there is already a page at that offset in the radix
      tree, which never happens during prefault, obviously.  We should probably
      fix it anyway, though.
      
      The analagous bug in some of the patches floating about to
      demand-allocation of hugepages is more of a problem, because multiple
      processes can race to instantiate a particular page in the radix tree -
      that's been hit at least once (which is how I found this).
      9008d35b
    • Andrew Morton's avatar
      [PATCH] fix wrong var used in hotplug/shpchp_ctrl.c. · d7553443
      Andrew Morton authored
      From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
      
      Zhenmin's checker tool <zli4@cs.uiuc.edu> detected this:
      
       9. /drivers/pci/hotplug/shpchp_ctrl.c, Line 1575:
       err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__, rc);
      
       Maybe change to:
       err("%s: Failed to disable slot, error code(%d)\n", __FUNCTION__,
       retval);
      
      I think it is right because at line 1564, the slot is turned off, and in
      this line (1575) is checked the status to see if we got an error; if so,
      the error number is shown.  This number is in 'retval', not in 'rc' ('rc'
      does have the return of configure_new_device()).
      d7553443
    • Andrew Morton's avatar
      [PATCH] Lindent arch/i386/kernel/cpuid.c · 0610d50c
      Andrew Morton authored
      From: Hanna Linder <hannal@us.ibm.com>
      
      Per Greg's request this is a patch of having run Lindent on cpuid.c.  The
      tabs were not the right number of spaces before.  I have verified it still
      compiles and boots with this "change".
      0610d50c
    • Andrew Morton's avatar
      [PATCH] pcmcia/tcic.c warning fix. · b5c64411
      Andrew Morton authored
      From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
      
      drivers/pcmcia/tcic.c:63: warning: `version' defined but not used
      b5c64411
    • Andrew Morton's avatar
      [PATCH] as-iosched barrier fix · 7a49740a
      Andrew Morton authored
      From: Jens Axboe <axboe@suse.de>
      
      AS does not correctly account requests inserted with INSERT_FRONT or
      INSERT_BACK, barriers for example.  In other elevators, requeued requests also
      go through the insert path, but AS has its own requeue handler which means the
      code has never been tested.
      
      Also, make inserting a barrier with INSERT_SORT imply INSERT_BACK, which is
      the logical behaviour.  Previously such insertions weren't rigorously defined.
      7a49740a
    • Andrew Morton's avatar
      [PATCH] Fix race on tty close · e829d2e4
      Andrew Morton authored
      From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      
      ldisc close can race with the flush_to_ldisc workqueue.
      
      This patch fixes it by killing the workqueue first.
      e829d2e4
    • Andrew Morton's avatar
      [PATCH] SElinux interface for reporting size of printk buffer · 19e12876
      Andrew Morton authored
      From: Olaf Dabrunz <od@suse.de>
      
      Add the necessary hooks so that a SELinux-enabled kernel will allow the new
      "report the size of the printk buffer" query to work.
      19e12876
    • Andrew Morton's avatar
      [PATCH] blk: cache queue_congestion_on/off_threshold values · 110eecfb
      Andrew Morton authored
      From: "Chen, Kenneth W" <kenneth.w.chen@intel.com>
      
      It's kind of redundant that queue_congestion_on/off_threshold gets
      calculated on every I/O and they produce the same number over and over
      again unless q->nr_requests gets changed (which is probably a very rare
      event).  We can cache those values in the request_queue structure.
      110eecfb
    • Andrew Morton's avatar
      [PATCH] swsusp documentation updates · bbfbb758
      Andrew Morton authored
      From: Pavel Machek <pavel@ucw.cz>
      bbfbb758
    • Andrew Morton's avatar
      [PATCH] simplify mqueue_inode_info->messages allocation · b3f8802c
      Andrew Morton authored
      From: Chris Wright <chrisw@osdl.org>
      
      Currently, if a user creates an mqueue and passes an mq_attr, the
      info->messages will be created twice (and the extra one is properly freed).
      This patch simply delays the allocation so that it only ever happens once. 
      The relevant mq_attr data is passed to lower levels via the dentry->d_fsdata
      fs private data.  This also helps isolate the areas we'd need to touch to do
      rlimits on mqueues.
      b3f8802c
    • Andrew Morton's avatar
      [PATCH] bfs filesystem read past the end of dir · e37a41af
      Andrew Morton authored
      From: Jakub Jermar <jermar@itbs.cz>
      
      I found out that BFS filesystem will eventually try to read and interpret
      garbage past the end of directory in bfs_add_entry().  If the garbage
      (interpreted as i-node number) is not set to zero (does it have to be?)
      bfs_add_entry() will consider it a regular directory entry. 
      
      This causes weird things like this:
      # touch a
      # rm a
      # ls
      # touch b
      # ls
      a
      
      My patch detects an attempt to read past the end of directory and explicitly
      clears the garbage that represents i-node number.  Thus the correct behaviour
      is achieved.
      
      (was unable to contact Tigran)
      e37a41af
    • Andrew Morton's avatar
      [PATCH] update Documentation/md.txt · 28d627fb
      Andrew Morton authored
      From: <spam@altium.nl> (Dick Streefland)
      
      The following patch documents the currently undocumented raid= kernel
      parameter.
      28d627fb
    • Andrew Morton's avatar
      [PATCH] es7000 subarch update for generic arch · 9828805c
      Andrew Morton authored
      From: "Protasevich, Natalie" <Natalie.Protasevich@UNISYS.com>
      
      This is ES7000 sub architecture update.  It makes ES7000 a part of the
      generic architecture, so the single compiled kernel will be able to choose
      a correct set of parameters, routines ("genapic"), and a boot path.  It
      uses criteria provided by the subarch for platform identification.  In case
      of ES7000, it is a unique product/vendor string in the ACPI/MP OEM table,
      and server control registers.  The patch is confined to only es7000 subarch
      and generic subarch.  It was tested on ES7000 as well as generic Intel 8x
      Xeon system.  Andi Kleen has reviewed the changes.
      9828805c
    • Andrew Morton's avatar
      [PATCH] CLOCK_TICK_RATE: use CLOCK_TICK_RATE · 1dd5cc77
      Andrew Morton authored
      From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
      
      use CLOCK_TICK_RATE where 1193180 was used in general timing calculations. 
      (optional)
      1dd5cc77
    • Andrew Morton's avatar
      [PATCH] CLOCK_TICK_RATE: use PIT_TICK_RATE in *spkr.c · 52161621
      Andrew Morton authored
      From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
      52161621
    • Andrew Morton's avatar
      [PATCH] CLOCK_TICK_RATE: introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant. · 80c44e42
      Andrew Morton authored
      From: Thorsten Kranzkowski <dl8bcu@dl8bcu.de>
      
      The calculation of the counter values in drivers/input/misc/pcspkr.c is
      incorrectly based on CLOCK_TICK_RATE.  This goes unnoticed in i386 because
      there the system clock is driven by the same Programmable Interval Timer chip
      as the speaker.  But this doesn't hold true on other archs, e.g.  Alpha.
      
      To solve this problem I made these patches:
      
      1/3:    introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant.
              It seems this is not always the same value.
      2/3:    use PIT_TICK_RATE in *spkr.c
      3/3:    use CLOCK_TICK_RATE where 1193180 was used in general timing
              calculations. (optional)
      
      There are still some places where the magic number is used instead of the
      #define (vt_ioctl.c, gameport.c) but I left them as-is.  I got some responses
      from arch maintainers to specifically not touch their respective architectures
      so changing these places would mean breakage for them.
      
      Tested on Alpha and i386, ack'ed by Ralf Baechle for MIPS.
      
      
      This patch:
      
      introduce asm-*/8253pit.h, #define PIT_TICK_RATE constant.
      80c44e42