1. 11 Jul, 2004 18 commits
    • Jens Axboe's avatar
      [PATCH] cfq: bad allocation · cfea61da
      Jens Axboe authored
      Arjan (sensibly) put a might_sleep() in mempool_alloc() and it caught a bad
      cfq usage.
      Signed-off-by: default avatarJens Axboe <axboe@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      cfea61da
    • Andrew Morton's avatar
    • Keith Owens's avatar
      [PATCH] kallsyms ppc32 fix · 929f0ace
      Keith Owens authored
      PPC small data area base symbols shift between kallsyms phases 1 and 2, which
      makes the kallsyms data unstable.  Exclude them from the kallsyms list.
      Signed-off-by: default avatarKeith Owens <kaos@sgi.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      929f0ace
    • Christoph Hellwig's avatar
      [PATCH] remove dead isdn pcmcia code · fde74998
      Christoph Hellwig authored
      The <driver>_config function called just before clear DEV_CONFIG, and
      DEV_STALE_LINK isn't set anywhere else.  This is a copy & paste thing found
      in all old pcmcia drivers.
      
      The patch has been sent to the isdn list ages ago but I didn't get any
      response.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fde74998
    • Neil Brown's avatar
      [PATCH] Use llseek instead of f_pos= for directory seeking · 49a83003
      Neil Brown authored
      nfsd currently just sets f_pos when seeking in a directory.  This bypasses
      any checking and other handling that a filesystem might want to do.
      
      So instead, we define "vfs_llseek" to be an exported "llseek", and use
      that, both to seek at the start, and the find the new position at the end.
      
      Thanks to
          "Derrick Schommer" <dschommer@acopia.com>
          "Trond Myklebust" <trond.myklebust@fys.uio.no>
      Signed-off-by: default avatarNeil Brown <neilb@cse.unsw.edu.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      49a83003
    • Adrian Bunk's avatar
      [PATCH] Fix MCA_LEGACY dependencies · 58556e5f
      Adrian Bunk authored
      The patch below against 2.6.7-mm5 fixes more compile errors with
      MCA_LEGACY=n.
      
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Cc: James Bottomley <James.Bottomley@steeleye.com>
      Signed-off-by: default avatarAdrian Bunk <bunk@fs.tum.de>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      58556e5f
    • David Howells's avatar
      [PATCH] kAFS automount support · d1718e93
      David Howells authored
      Here's a patch to allow the kAFS filesystem to use the automount facility
      patch presented in a previous email.
      
      It allows me to mount an AFS root volume on /afs and then just walk through
      the directory structure causing referenced volumes to be automounted and
      autoumounted.
      
      For instance, if I do:
      
      	[root@andromeda root]# mount -t afs \#root.afs. /afs
      	[root@andromeda root]# ls /afs
      	asd  cambridge  cambridge.redhat.com  grand.central.org
      	[root@andromeda root]# ls /afs/cambridge
      	afsdoc
      	[root@andromeda root]# ls /afs/cambridge/afsdoc/
      	ChangeLog  html  LICENSE  pdf  RELNOTES-1.2.2
      
      And then look in the mountpoint catalogue, I see:
      
      	[root@andromeda root]# cat /proc/mounts
      	...
      	#root.afs. /afs afs rw 0 0
      	#root.cell. /afs/cambridge.redhat.com afs rw 0 0
      	#afsdoc. /afs/cambridge.redhat.com/afsdoc afs rw 0 0
      
      Then after waiting a few minutes:
      
      	[root@andromeda root]# cat /proc/mounts
      	...
      	#root.afs. /afs afs rw 0 0
      
      Is all that remains.
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d1718e93
    • David Howells's avatar
      [PATCH] intrinsic automount and mountpoint degradation support · c8a6ba01
      David Howells authored
      Here's a patch that I worked out with Al Viro that adds support for a
      filesystem (such as kAFS) to perform automounting intrinsically without the
      need for a userspace daemon.  It also adds support for such mountpoints to be
      degraded at the filesystem's behest until they've been untouched long enough
      that they'll be removed.
      
      I've a patch (to follow) that removes some #ifdef's from fs/afs/* thus
      allowing it to make use of this facility.
      
      There are five pieces to this:
      
       (1) Any interested filesystem needs to have at least one list to which
           expirable mountpoints can be added.
      
           Access to this list is governed by the vfsmount_lock.
      
       (2) When a filesystem wants to create an expirable mount, it calls
           do_kern_mount() to get a handle on the filesystem it wants mounting, and
           then calls do_add_mount() to mount that filesystem on the designated
           mountpoint, supplying the list mentioned in (1) to which the vfsmount
           will be added.
      
           In kAFS's case, the mountpoint is a directory with a follow_link() method
           defined (fs/afs/mntpt.c). This uses the struct nameidata supplied as an
           argument as a determination of where the new filesystem should be
           mounted.
      
       (3) When something using a vfsmount finishes dealing with it, it calls
           mntput(). This unmarks the vfsmount for immediate expiry.
      
           There are two criteria for determining if a vfsmount may be expired - it
           mustn't be marked as in use for anything other than being a child of
           another vfsmount, and it must have an expiry mark against it already.
      
       (4) The filesystem then determines the policy on expiring the mounts created
           in (2). When it feels the need to, it passes the list mentioned in (1) to
           mark_mounts_for_expiry() to request everything on the list be expired.
      
           This function examines each mount listed. If the vfsmount meets the
           criteria mentioned in (3), then the vfsmount is deleted from the
           namespace and disposed of as for unmounting; otherwise the vfsmount is
           left untouched apart from now bearing an expiration mark if it didn't
           before.
      
           kAFS's expiration policy is simply to invoke this process at regular
           intervals for all the mounts on its list.
      
       (5) An expiration facility is also provided to userspace: by calling umount()
           with a MNT_EXPIRE flag, it can make a request to unmount only if the
           mountpoint hasn't been used since the last request and isn't in use now.
      
           This allows expiration to be driven by userspace instead of by the
           kernel if that is desirable.
      
           This also means that do_umount() has to use a different version of
           path_release() to everyone else... it can't call mntput() as that clears
           the expiration flag, thus rendering this unachievable; so it's version of
           path_release() calls _mntput(), which doesn't do the clear.
      
      My original idea was to give the kernel more knowledge of automounted
      things. This avoids a certain problem with stat() on a mountpoint causing it
      to mount (for example, do "ls -l /afs" on a machine with kAFS), but Al wanted
      it done this way.
      
      > Why is autofs unsuitable?
      
      Because:
      
       (1) Autofs is flat; AFS requires a tree - mounts on mounts on mounts on
           mounts...
      
       (2) AFS holds the data as to what the mountpoints are and where they go, and
           these may be cross-links to subtrees beyond your control. It's also not
           trivial to extract a list of mountpoints as is required for autofs.
      
       (3) Autofs is not namespace safe.
      
       (4) Ducking back to userspace to get that to do the mount is pretty tricky if
           namespaces are involved.
      
      In fact, autofs may well want to make use of this facility.
      Signed-Off-By: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c8a6ba01
    • Brian Gerst's avatar
      [PATCH] kbuild: sort modules for modpost and modinst · 694effe7
      Brian Gerst authored
      Process modules in sorted order during modpost and modules install.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      694effe7
    • Brian Gerst's avatar
      [PATCH] kbuild: clean up module install rules · 5cfce896
      Brian Gerst authored
      Consolidate rules for installing internal and external modules.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5cfce896
    • Paul Mackerras's avatar
      [PATCH] ppc64: update lparcfg to use seq_file · 43610b32
      Paul Mackerras authored
      From: Will Schmidt <willschm@us.ibm.com>
      
      This patch includes updates and cleanup for the PPC64 proc/lparcfg interface.
           - use seq_file's seq_printf for output
           - remove redundant e2a function. (use viopath.c's instead)
           - change to Kconfig to allow building as a module.
           - export required symbols from LparData.c
      
          Pass # 2 updates..
            - Per Pauls request I've removed the vpurr references, and left
      	just a stub function get_purr().
            - this should apply clean to latest linus tree.  (test-applied against
      	2.6.7-rc3).
      
          Pass # 3 updates...
            - Correcting my previously incorrect description of the
      	lparcfg_count_active_processors() function..
      	This is for the cases where we have some number of virtual
      	processors that are different than the total number of threads
      	in the system.  (i.e. systemcfg->processorcount isnt the desired
      	value for partition_active_processors)
            - moved e2a function into its own file in arch/ppc64/lib.
            - changed lparcfg_count_active_processors() to use a while loop
      	instead of a for loop.
            - removed redundant of_node_put in lparcfg_count_active_processors().
            - removed unneeded parms from get-system-parameter rtas_call.
      Signed-off-by: default avatarWill Schmidt <willschm@us.ibm.com>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      43610b32
    • Paul Mackerras's avatar
      [PATCH] ppc64: enable EEH on PCI host bridges · bade7631
      Paul Mackerras authored
      On recent pSeries systems, EEH needs to be enabled even on PCI Host Bridges
      (PHB's).  If not enabled, then ordinary PCI probing (config-space
      reads/writes to the bridges) will generate firmware error messages,
      possibly a very large number of messages for systems with large numbers of
      pci slots.
      Signed-off-by: default avatarLinas Vepstas <linas@linas.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      bade7631
    • Paul Mackerras's avatar
      [PATCH] ppc64: fix unbalanced dev_get/put calls in EEH code · 6441582c
      Paul Mackerras authored
      This patch fixes some unbalanced usage of pci_dev_get()/pci_dev_put() calls
      in the eeh code.  The old code had too many calls to dev_put, which could
      cause memory structs to be freed prematurely, possibly leading to bad bad
      pointer derefs in certain cases.
      Signed-off-by: default avatarLinas Vepstas <linas@linas.org>
      Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6441582c
    • Anton Blanchard's avatar
      [PATCH] ppc64: uninline some user copy routines · 69867f86
      Anton Blanchard authored
      gcc 3.5 is complaining about the size of copy_from_user.  It turns out it
      is rather large and putting it out of line saves us about 30kB on a default
      kernel build.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      69867f86
    • Kumar Gala's avatar
      [PATCH] ppc32: CPM UART fixes · 3b78f5c5
      Kumar Gala authored
      Here is a patch to fix some bugs with the current CPM UART code, Tom Rini
      has seen this and ok'd it.
      
      * Fixes need to config both SMC1 & SCC1
      * Fixes buffer descriptor wrapping issue in set_termios
      * Fixes confusion in Kconfig regarding CPM1 vs CPM2
      Signed-off-by: default avatarKumar Gala <kumar.gala@freescale.com>
      Signed-off-by: default avatarPantelis Antoniou <panto@intracom.gr>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3b78f5c5
    • Olaf Hering's avatar
      [PATCH] ppc32: serial console autodetection · fab5ef07
      Olaf Hering authored
      We have something like this in our kernel since many months.  It sets the
      console device to what OF uses.  ppc64 does the same, and it works ok.
      serial is found on CHRP, ch-a is used on all powermacs.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fab5ef07
    • Jan Kara's avatar
      [PATCH] quota: inode->i_flags locking fixes · 7f0fdc5d
      Jan Kara authored
      The patch fixes locking of i_flags.  It removes S_QUOTA flag from i_flags
      because it was almost unused and updating it on some places correctly
      (under i_sem) would be tricky.  Note that accessing of S_NOQUOTA flag is
      serialized by dqptr_sem and so we can reliably tested without i_sem.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7f0fdc5d
    • Russell King's avatar
      [ARM] Fix two bugs in Acorn expansion card subsystem · 97e5cc05
      Russell King authored
      - Setup synchronous expansion card resource.
      - Fix order of IRQ and FIQ mask/offsets.
      97e5cc05
  2. 10 Jul, 2004 2 commits
  3. 08 Jul, 2004 2 commits
    • Russell King's avatar
      Back out smc91x late collision "performance" hack. · 372b616b
      Russell King authored
      Apparantly, the reason for this change is that it gives "much less
      NFS stalls with a SMC91C96 on a 10/100MB switch."
      
      Alan Cox's comments on this is:
      "spec says 16 collision retries max _ever_.  I bet his 'broken
      switch' is a case of half v full duplex" and a recommendation to
      remove it.
      
      Also, since the change does not limit the number of times we may
      retry to send the packet, I think this code opens a potential DoS
      attack against network which has a machine connected running this
      code.
      372b616b
    • John Lenz's avatar
      [ARM PATCH] 1937/1: LoCoMo common device · 9fd1d0c7
      John Lenz authored
      Patch from John Lenz
      
      Cleanup and forward port of patch 1849.
      This patch provides support for the SHARP LoCoMo device, 
      a companion chip similar to the sa1111 device.  It is present
      in many of the SHARP Zaurus line of PDAs.
      9fd1d0c7
  4. 06 Jul, 2004 18 commits
    • Linus Torvalds's avatar
      Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk · afb7238d
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      afb7238d
    • Ian Campbell's avatar
      [ARM PATCH] 1954/2: Make pxa platform device names more sensible · 1dac5247
      Ian Campbell authored
      Patch from Ian Campbell
      
      Update 1954/1 to use pxa2xx- as the platform device prefix 
      instead of pxa2xx_. This changes pxamci to pxa2xx-mci, pxa2xx_udc 
      to pxa2xx-udc and pxafb to pxa2xx-fb. pxa2xx-uart doesn't need changing.
      1dac5247
    • Russell King's avatar
      [ARM] Usual mach-types update. · 496bf4b8
      Russell King authored
      496bf4b8
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/sparc-2.6 · b24b10d7
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      b24b10d7
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.6 · 0ac3fc9f
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      0ac3fc9f
    • Linus Torvalds's avatar
    • Wen-chien Jesse Sung's avatar
      [PATCH] snd_ctl_read() fix fix · da0504fc
      Wen-chien Jesse Sung authored
      hm, I had a brainfart here.  The recent "fix" to snd_ctl_read() actually
      unfixed it.  Revert that, and fix the real bug.
      
      Cc: Jaroslav Kysela <perex@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      da0504fc
    • Jerzy Szczepkowski's avatar
      [PATCH] Fix memory leak in epoll · c105abb3
      Jerzy Szczepkowski authored
      There was a memory leak in epoll.
      
      The reference count (d_count) of the struct dentry of a new epoll-fd was
      set to TWO.  (new_inode() assigned ONE, than ep_getfd() incremented it by
      dget()).  There was only ONE reference to this dentry, so struct dentry and
      struct inode were never freed.
      Signed-off-by: default avatarDavide Libenzi <davidel@xmailserver.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c105abb3
    • Rusty Russell's avatar
      [PATCH] Remove include/{asm-i386,linux}/upd4990a.h · 6173a113
      Rusty Russell authored
      From: Alexey Dobriyan <adobriyan@mail.ru>
      
      drivers/char/upd4990a.c was removed from 2.6.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      6173a113
    • Gerd Knorr's avatar
      [PATCH] saa5246a Videotext driver update · a97d11d9
      Gerd Knorr authored
      From: Michael Geng <linux@MichaelGeng.de>
      
      The patch updates docs, comments + strings to also mention the SAA5281 chip
      (which is compatible to the SAA5246A) as supported.
      Signed-off-by: default avatarMichael Geng <linux@MichaelGeng.de>
      Signed-off-by: default avatarGerd Knorr <kraxel@bytesex.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a97d11d9
    • Mika Kukkonen's avatar
      [PATCH] sparse: fix remaining three non-ANSI warnings · 9d2e400d
      Mika Kukkonen authored
        CHECK   fs/smbfs/smbiod.c
      fs/smbfs/smbiod.c:68:25: warning: non-ANSI parameter list
        CHECK   drivers/isdn/tpam/tpam_crcpc.c
      drivers/isdn/tpam/tpam_crcpc.c:57:15: warning: non-ANSI parameter list
        CHECK   drivers/scsi/aic7xxx/aic79xx_reg_print.c
      drivers/scsi/aic7xxx/aic79xx_osm.h:791:19: warning: non-ANSI parameter list
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9d2e400d
    • Andi Kleen's avatar
      [PATCH] NUMA API: fix use-after-free bug · fb921d69
      Andi Kleen authored
      Move the memory policy freeing to later in exit to make sure the last
      memory allocations don't use an uninitialized policy.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      fb921d69
    • Antonino Daplas's avatar
      [PATCH] fbdev: set capabilities flag for vesafb and vga16fb · 701cbbb7
      Antonino Daplas authored
      This patch sets the correct capabilities flag for vesafb and vga16fb to
      provide fbcon with the correct hints as to the best scrolling mode.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      701cbbb7
    • Antonino Daplas's avatar
      [PATCH] fbcon: new scrolling mode: YPAN + REDRAW · 8b984eb4
      Antonino Daplas authored
      Added a new scrolling mode (SCROLL_PAN_REDRAW) to fbcon that should greatly
      benefit unaccelerated drivers such as VESA fbdev.  An increase of 3-10 times
      in scrolling speed can be expected.
      
      Currently, fbcon has 4 different scrolling methods (1-4).  Potentially, we can
      have 6.  This patch implements SCROLL_PAN_REDRAW (5).  SCROLL_WRAP_REDRAW (6)
      is still unimplemented.
      
      Scroll Mode		Operation	YPan	YWrap
      +++++++++++++++++++++++++++++++++++++++++++++++++++++
      1. SCROLL_ACCEL		copyarea	No	No
      2. SCROLL_REDRAW	imageblit	No	No
      3. SCROLL_PAN		copyarea	Yes	No
      4. SCROLL_WRAP		copyarea	No	Yes
      5. SCROLL_PAN_REDRAW 	imageblit	Yes	No	
      6. SCROLL_WRAP_REDRAW	imageblit	No	Yes
      +++++++++++++++++++++++++++++++++++++++++++++++++++++
      Note 1:  I've changed the nomenclature to increase clarity:
      
      SCROLL_ACCEL = SCROLL_MOVE
      SCROLL_REDRAW = SCROLL_REDRAW
      SCROLL_PAN = SCROLL_PAN_MOVE
      SCROLL_WRAP = SCROLL_WRAP_MOVE
      
      To demonstrate the effect of each of the scrolling methods on
      an unaccelerated PCI/AGP-based driver (vesafb), I used a simple
      benchmark (time cat linux/MAINTAINERS - a 50K text file). The
      framebuffer is set at:
      
      1024x768-8bpp, 8x16 font, yres_virtual = 2*yres
      
      1. SCROLL_MOVE:
      real    5m50.277s
      user    0m0.001s
      sys     5m50.227s
      
      Almost 6 minutes for a 50K text file.  Using soft copyarea on a
      PCI-based card is just too slow (because copyarea has to 
      read from the framebuffer memory).
      
      2. SCROLL_PAN_MOVE
      scrollmode: SCROLL_PAN
      real    0m8.592s
      user    0m0.000s
      sys     0m8.586s
      
      Using ypan with copyarea dramatically improves the scrolling.  However, the
      scrolling action is jerky (fast during the panning stages, slows down during
      the copyarea stages).
      
      3. SCROLL_REDRAW (this is the default scrolling mode)
      real    0m3.189s
      user    0m0.000s
      sys     0m3.170s
      
      Simply eliminating the copyarea, even without ypanning, makes it faster than
      SCROLL_PAN_MOvE.  Plus, the scrolling action is smoother.
      
      So, if we combine YPanning with imageblit (PAN_REDRAW), we get this:
      
      4. SCROLL_PAN_REDRAW
      real    0m0.520s
      user    0m0.000s
      sys     0m0.518s
      
      That's almost 6x faster than SCROLL_REDRAW.  Increasing the amount of video
      RAM still increases the speed, but not very dramatically.  Higher than 16 MB,
      the increase is negligible.
      
      Using an accelerated driver, we see almost the same effect but not as
      dramatically:
      
      1. SCROLL_MOVE - accel
      real    0m3.112s
      user    0m0.000s
      sys     0m3.112s
      
      2. SCROLL_REDRAW - accel
      real    0m2.604s
      user    0m0.000s
      sys     0m2.603s
      
      Redraw is still faster than move, but not much.
      
      3. SCROLL_PAN_MOVE - accel
      real    0m0.203s
      user    0m0.000s
      sys     0m0.202s
      
      4. SCROLL_PAN_REDRAW - accel
      real    0m0.326s
      user    0m0.002s
      sys     0m0.323s
      
      This is one exception.  If panning is enabled, move is actually faster than
      redraw.  As to why, I don't know.
      
      So based on the above, fbcon will choose the scrolling method based on the
      following preference:
      
      Ypan/Ywrap > accel imageblit > accel copyarea >
      soft imageblit > (soft copyarea)
      
      Note 2: Exception: accel copyarea > accel imageblit if Pan/Wrap is enabled.
      
      Note 3: soft copyarea will be avoided by fbcon as much as possible unless
      there is a specific override, ie., FBINFO_READS_FAST flag is set.  If this
      flag is set, fbcon will prefer copyarea over imageblit, accel or soft.
      
      As a final note, in order for fbcon to use the best scrolling method, the
      low-level drivers must provide the correct hinting by setting the
      FBINFO_HWACCEL_* flags.
      
      To vesafb users: boot vesafb like this for fastest scrolling action:
      
      video=vesafb:ypan,vram:16
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8b984eb4
    • Antonino Daplas's avatar
      [PATCH] fbcon: refinements for fbcon · f032365d
      Antonino Daplas authored
      1.  From Petr Vandrovec <vandrove@vc.cvut.cz>.
      
      Begin quote
      
              yesterday I finally found why 2.6.x has problems with taking
              over vgacon.  Problem is that take_over_console does:
      
        	if (IS_VISIBLE)
          	save_screen(i);
        	...
        	visual_init(i, 0);
        	...
      
              so code nicely saves screen contents, and calls visual_init,
              which calls fbcon's init, which in turn can issue vc_resize.  And this
              vc_resize will trigger read from vc->vc_origin.  But vc_origin still
              points to videomemory, not to the buffer where save_screen() copied
              its data.
      
      End quote
      
      So updating vc->vc_origin to point to screenbuf after the previous console
      deinitializes allows fbcon to correctly update the screen from the screen
      buffer.  This change makes the clearing of vram (using fillrect) unnecessary.
      
      2.  If FBINFO_MISC_MODESWITCH flag is set in info, do the set_par() in
      fbcon_switch() instead of piggy-backing the set_par() on fbcon_resize().  This
      preserves the current var, skipping the unnecessary fb_find_mode() step.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      f032365d
    • Antonino Daplas's avatar
      [PATCH] fbcon mode switching fix · 253c89da
      Antonino Daplas authored
      Ugly workaround.  When switching from KD_GRAPHICS to KD_TEXT, the event is
      captured at fbcon_blank() allowing fbcon to reinitialize the hardware.
      However, some hardware requires the reinitialization to be done
      immediately, others require it to be done later.  Others may need it to be
      done immediately and later, this is the worst case.
      Signed-off-by: default avatarAntonino Daplas <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      253c89da
    • Martin Schwidefsky's avatar
      [PATCH] s390: cpu hotplug support · 9baeca57
      Martin Schwidefsky authored
      From: Ursula Braun-Krahl <braunu@de.ibm.com>
      From: Heiko Carstens <heiko.carstens@de.ibm.com>
      From: Gerald Schaefer <geraldsc@de.ibm.com>
      From: Martin Schwidefsky <schwidefsky@de.ibm.com>
      
      Add s390 architecture support for cpu hotplug.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9baeca57
    • Martin Schwidefsky's avatar
      [PATCH] s390: cpu-idle notifier · 1ef8b835
      Martin Schwidefsky authored
      This patch introduces a notifier chain for cpu idle.  There are two events
      CPU_IDLE and CPU_NOT_IDLE that are called just before the cpu goes to sleep
      and right after the cpu woke up again.  The notifier is used to simplify the
      no-hz-timer-in-idle feature and the virtual cpu timers.  In addition the
      virtual cpu timer functions have been moved to arch/s390/kernel/vtime.c, which
      gives a nice separation between the timer functions related to real time and
      the timer functions related to virtual cpu time.
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1ef8b835