1. 17 10月, 2006 16 次提交
    • D
      [PATCH] knfsd: add nfs-export support to tmpfs · 91828a40
      David M. Grimes 提交于
      We need to encode a decode the 'file' part of a handle.  We simply use the
      inode number and generation number to construct the filehandle.
      
      The generation number is the time when the file was created.  As inode numbers
      cycle through the full 32 bits before being reused, there is no real chance of
      the same inum being allocated to different files in the same second so this is
      suitably unique.  Using time-of-day rather than e.g.  jiffies makes it less
      likely that the same filehandle can be created after a reboot.
      
      In order to be able to decode a filehandle we need to be able to lookup by
      inum, which means that the inode needs to be added to the inode hash table
      (tmpfs doesn't currently hash inodes as there is never a need to lookup by
      inum).  To avoid overhead when not exporting, we only hash an inode when it is
      first exported.  This requires a lock to ensure it isn't hashed twice.
      
      This code is separate from the patch posted in June06 from Atal Shargorodsky
      which provided the same functionality, but does borrow slightly from it.
      
      Locking comment: Most filesystems that hash their inodes do so at the point
      where the 'struct inode' is initialised, and that has suitable locking
      (I_NEW).  Here in shmem, we are hashing the inode later, the first time we
      need an NFS file handle for it.  We no longer have I_NEW to ensure only one
      thread tries to add it to the hash table.
      
      Cc: Atal Shargorodsky <atal@codefidence.com>
      Cc: Gilad Ben-Yossef <gilad@codefidence.com>
      Signed-off-by: NDavid M. Grimes <dgrimes@navisite.com>
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Acked-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      91828a40
    • A
      [PATCH] remove carta_random32 · 5c496374
      Andrew Morton 提交于
      This library function should be in obj-y and not in lib-y.  But when we do
      that it clashes unpleasantly with the assembly-language implementation in the
      ia64 architecture.
      
      Instead of trying to fix it all up, just remove the generic carta_random32 in
      the expectation that the recently-made-generic random32() will suffice.
      
      If/when perfmon is migrated to random32, ia64's private carta_random32
      implementation can also be removed.
      
      Cc: Stephane Eranian <eranian@hpl.hp.com>
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5c496374
    • S
      [PATCH] rename net_random to random32 · aaa248f6
      Stephen Hemminger 提交于
      Make net_random() more widely available by calling it random32
      
      akpm: hopefully this will permit the removal of carta_random32.  That needs
      confirmation from Stephane - this code looks somewhat more computationally
      expensive, and has a different (ie: callee-stateful) interface.
      
      [akpm@osdl.org: lots of build fixes, cleanups]
      Signed-off-by: NStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Stephane Eranian <eranian@hpl.hp.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      aaa248f6
    • A
      [PATCH] PROC_NUMBUF is wrong · 0187f879
      Andrew Morton 提交于
      Actually, the decimal representation of a 32-bit signed number can take 12
      bytes, including the \0.
      
      And then some code adds a \n as well, so let's give it 13 bytes.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0187f879
    • T
      [PATCH] posix-cpu-timers: prevent signal delivery starvation · ac08c264
      Thomas Gleixner 提交于
      The integer divisions in the timer accounting code can round the result
      down to 0.  Adding 0 is without effect and the signal delivery stops.
      
      Clamp the division result to minimum 1 to avoid this.
      
      Problem was reported by Seongbae Park <spark@google.com>, who provided
      also an inital patch.
      
      Roland sayeth:
      
        I have had some more time to think about the problem, and to reproduce it
        using Toyo's test case.  For the record, if my understanding of the problem
        is correct, this happens only in one very particular case.  First, the
        expiry time has to be so soon that in cputime_t units (usually 1s/HZ ticks)
        it's < nthreads so the division yields zero.  Second, it only affects each
        thread that is so new that its CPU time accumulation is zero so now+0 is
        still zero and ->it_*_expires winds up staying zero.  For the VIRT and PROF
        clocks when cputime_t is tick granularity (or the SCHED clock on
        configurations where sched_clock's value only advances on clock ticks), this
        is not hard to arrange with new threads starting up and blocking before they
        accumulate a whole tick of CPU time.  That's what happens in Toyo's test
        case.
      
        Note that in general it is fine for that division to round down to zero,
        and set each thread's expiry time to its "now" time.  The problem only
        arises with thread's whose "now" value is still zero, so that now+0 winds up
        0 and is interpreted as "not set" instead of ">= now".  So it would be a
        sufficient and more precise fix to just use max(ticks, 1) inside the loop
        when setting each it_*_expires value.
      
        But, it does no harm to round the division up to one and always advance
        every thread's expiry time.  If the thread didn't already fire timers for
        the expiry time of "now", there is no expectation that it will do so before
        the next tick anyway.  So I followed Thomas's patch in lifting the max out
        of the loops.
      
        This patch also covers the reload cases, which are harder to write a test
        for (and I didn't try).  I've tested it with Toyo's case and it fixes that.
      
      [toyoa@mvista.com: fix: min_t -> max_t]
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NRoland McGrath <roland@redhat.com>
      Cc: Daniel Walker <dwalker@mvista.com>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: john stultz <johnstul@us.ibm.com>
      Cc: Roman Zippel <zippel@linux-m68k.org>
      Cc: Seongbae Park <spark@google.com>
      Cc: Peter Mattis <pmattis@google.com>
      Cc: Rohit Seth <rohitseth@google.com>
      Cc: Martin Bligh <mbligh@google.com>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ac08c264
    • A
      [PATCH] md: fix /proc/mdstat refcounting · e24650c2
      Akinobu Mita 提交于
      I have seen mdadm oops after successfully unloading md module.
      
      This patch privents from unloading md module while
      mdadm is polling /proc/mdstat.
      
      Cc: Neil Brown <neilb@suse.de>
      Signed-off-by: NAkinbou Mita <akinobu.mita@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e24650c2
    • A
      [PATCH] invalidate: remove_mapping() fix · a649fd92
      Andrew Morton 提交于
      If remove_mapping() failed to remove the page from its mapping, don't go and
      mark it not uptodate!  Makes kernel go dead.
      
      (Actually, I don't think the ClearPageUptodate is needed there at all).
      
      Says Nick Piggin:
      
         "Right, it isn't needed because at this point the page is guaranteed
          by remove_mapping to have no references (except us) and cannot pick
          up any new ones because it is removed from pagecache.
      
          We can delete it."
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Acked-by: NNick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a649fd92
    • D
      [PATCH] null dereference in fs/jbd2/journal.c · 5eb30790
      Dave Kleikamp 提交于
      This is Eric Sesterhenn's jbd patch applied to jbd2.
      Commit: 41716c7c
      
      His words:
      
      Since commit d1807793 we dereference a NULL
      pointer.  Coverity id #1432.  We set journal to NULL, and use it directly
      afterwards.
      Signed-off-by: NDave Kleikamp <shaggy@austin.ibm.com>
      Cc: Eric Sesterhenn <snakebyte@gmx.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5eb30790
    • J
      [PATCH] i386 Time: Avoid PIT SMP lockups · 3f4a0b91
      john stultz 提交于
      Avoid possible PIT livelock issues seen on SMP systems (and reported by
      Andi), by not allowing it as a clocksource on SMP boxes.
      
      However, since the PIT may no longer be present, we have to properly handle
      the cases where SMP systems have TSC skew and fall back from the TSC.
      Since the PIT isn't there, it would "fall back" to the TSC again.  So this
      changes the jiffies rating to 1, and the TSC-bad rating value to 0.
      
      Thus you will get the following behavior priority on i386 systems:
      
      tsc		[if present & stable]
      hpet		[if present]
      cyclone		[if present]
      acpi_pm		[if present]
      pit		[if UP]
      jiffies
      
      Rather then the current more complicated:
      tsc		[if present & stable]
      hpet		[if present]
      cyclone		[if present]
      acpi_pm		[if present]
      pit		[if cpus < 4]
      tsc		[if present & unstable]
      jiffies
      Signed-off-by: NJohn Stultz <johnstul@us.ibm.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      3f4a0b91
    • P
      [PATCH] New MMC maintainer · b9f5d804
      Pierre Ossman 提交于
      I will be taking over after Russell King as the new maintainer of the
      MMC layer.
      Signed-off-by: NPierre Ossman <drzeus@drzeus.cx>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      b9f5d804
    • I
      [PATCH] lockdep: increase max allowed recursion depth · ca268c69
      Ingo Molnar 提交于
      In general, lockdep warnings are intended to be non-fatal, so I have put in
      various practical limits on internal data structure failure modes.  We haven't
      had a /single/ lockdep-internal crash ever since lockdep went upstream [the
      unwinder crashes are outside of lockdep], and that's largely due to the good
      internal checks it does.
      
      Recursion within the dependency graph is currently limited to 20, that's
      probably not enough on some many-CPU boxes - this patch doubles it to 40.  I
      have written the lockdep functions to have as small stackframes as possible,
      so 40 should be OK too.  (The practical recursion limit should be somewhere
      between 100 and 200 entries.  If we hit that then I'll change the algorithm to
      be iteration-based.  Graph walking logic is so easy to program via recursion,
      so i'd like to keep recursion as long as possible.)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      ca268c69
    • P
      [PATCH] synclink: remove PAGE_SIZE reference · 623a4395
      Paul Fulghum 提交于
      Remove reference to PAGE_SIZE that causes errors if PAGE_SIZE != 4096
      Signed-off-by: NPaul Fulghum <paulkf@microgate.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      623a4395
    • B
      [PATCH] ioc4: Enable build on non-SN2 · 59f14800
      Brent Casavant 提交于
      The SGI PCI-RT card, based on the SGI IOC4 chip, will be made available on
      Altix XE (x86_64) platforms in the near future.  As such it is now a
      misnomer for the IOC4 base device driver to live under drivers/sn, and
      would complicate builds for non-SN2.
      
      This patch moves the IOC4 base driver code from drivers/sn to drivers/misc,
      and updates the associated Makefiles and Kconfig files to allow building on
      non-SN2 configs.  Due to the resulting change in link order, it is now
      necessary to use late_initcall() for IOC4 subdriver initialization.
      
      [akpm@osdl.org: __udivdi3 fix]
      [akpm@osdl.org: fix default in Kconfig]
      Acked-by: NPat Gefre <pfg@sgi.com>
      Acked-by: NJeremy Higdon <jeremy@sgi.com>
      Signed-off-by: NBrent Casavant <bcasavan@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      59f14800
    • B
      [PATCH] ioc4: Remove SN2 feature and config dependencies · 107d5a72
      Brent Casavant 提交于
      The SGI PCI-RT card, based on the SGI IOC4 chip, will be made available on
      Altix XE (x86_64) platforms in the near future.  As such dependencies on
      SN2-specific features and config dependencies need to be removed.
      
      This patch updates the Kconfig files to remove the config dependency, and
      updates the IOC4 bus speed detection routine to use universally available
      time interfaces instead of mmtimer.
      Signed-off-by: NBrent Casavant <bcasavan@sgi.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      107d5a72
    • G
      [PATCH] CONFIG_TELCLOCK depends on X86 · 4d99bfac
      Geert Uytterhoeven 提交于
      The telecom clock driver for MPBL0010 ATCA SBC depends on X86
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Acked-by: NMark Gross <mark.gross@intel.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      4d99bfac
    • R
      [PATCH] fix epoll_pwait when EPOLL=n · 39af1143
      Randy Dunlap 提交于
      Fixes http://bugzilla.kernel.org/show_bug.cgi?id=7371
      
      sys_epoll_pwait needs to be listed as a conditional (weak)
      entry point for CONFIG_EPOLL=n.
      Signed-off-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      39af1143
  2. 16 10月, 2006 24 次提交