1. 03 Jul, 2004 11 commits
    • Andrew Morton's avatar
      [PATCH] err1-40: sysvfs locking fix · b10be47d
      Andrew Morton authored
      Found by the new Stanford locking checker.
      
      Minimal fix for a deadlock in sysvfs: get_branch() can take
      read_lock(&pointers_lock), but one caller already has a write_lock.
      
      Perhaps some of the "oh we raced, drop everything and try again" logic in
      there can go away now, but this is enugh to fix the obvious deadlock.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      b10be47d
    • Antonino Daplas's avatar
      [PATCH] fbcon: optimization for accel_putcs() · 114a8aec
      Antonino Daplas authored
      I did some simple benchmarking (time cat linux-2.6.7-mm5/MAINTAINERS)
      between 2.4 and 2.6 and I am not satisfied with what I see (It's claimed
      that fbdev-2.6 is faster than 2.4).  The reason for the claim:
      
      2.4 putcs - draw small amounts of data a lot of times
      2.6 putcs - draw larger amounts of data a fewer times
      
      The way characters are drawn in 2.6 is optimal for accelerated drivers but
      should also give a speed boost for drivers that rely on software drawing.
      However the penaly incurred when preparing a large bitmap from a number of
      small bitmaps is currently very high.  This is because of the following
      reasons:
      
      1 fb_move_buf_{aligned|unaligned} uses pixmap->{out|in}buf.  This is very
        expensive since outbuf and inbuf methods process only a byte or 2 of data
        at a time.
      
      2 fb_sys_outbuf (the default method for pixmap->outbuf) uses memcpy().
        Not a good choice if moving only a few bytes.
      
      3 fb_move_buf_unaligned (used for fonts such as 12x22) also involves a
        lot of bit operations + a lot of calls to outbuf/inbuf which
        proportionately increases the penaly.
      
      So, I thought of separating fb_move_buf_* to fb_iomove_buf_* and
      fb_sysmove_buf_*. 
      
      	fb_iomove_buf_* - used if drivers specified outbuf and inbuf methods
      	fb_sysmove_buf_* - used if drivers have no outbuf or inbuf methods
      
      	*Most, if not all drivers fall in the second category.
      
      Below is a table that show differences between 2.4, 2.6 and 2.6 +
      abovementioned changes.  To reduce the effect of panning and
      fillrect/copyarea, the scrollmode is forced to redraw.
      
      =================================================================
      Test Hardware: P4 2G nVidia GeForce2 MX 64
      Scrollmode: redraw
      
      time cat linux-2.6.7-mm5/MAINTAINERS
      
      1024x768-8		1024x768-16		1024x768-32
      =================================================================
      8x16 noaccel (2.4)
      real    0m5.490s	real    0m8.535s	real    0m15.388s
      user    0m0.001s	user    0m0.000s	user    0m0.001s
      sys     0m5.487s	sys     0m8.535s	sys     0m15.386s
      
      8x16 noaccel (2.6)
      real    0m5.166s	real    0m7.195s	real    0m12.177s
      user    0m0.001s	user    0m0.000s	user    0m0.000s
      sys     0m5.164s	sys     0m7.192s	sys     0m12.176s
      
      8x16 noaccel+patch (2.6)
      real    0m3.474s	real    0m5.496s	real    0m10.460s
      user    0m0.001s	user    0m0.001s	user    0m0.001s
      sys     0m5.492s	sys     0m5.492s	sys     0m10.454s
      =================================================================
      8x16 accel (2.4)
      real    0m4.368s	real    0m9.420s	real    0m22.415s
      user    0m0.001s	user    0m0.001s	user    0m0.001s
      sys     0m4.019s	sys     0m9.384s	sys     0m22.312s
      
      8x16 accel (2.6)
      real    0m4.296s	real    0m4.339s	real    0m4.391s
      user    0m0.001s	user    0m0.001s	user    0m0.000s
      sys     0m4.280s	sys     0m4.336s	sys     0m4.389s
      
      8x16 accel+patch (2.6)
      real    0m2.536s	real    0m2.649s	real    0m2.799s
      user    0m0.000s	user    0m0.000s	user    0m0.001s
      sys     0m2.536s	sys     0m2.645s	sys     0m2.798s
      =================================================================
      
      1024x768-8		1024x768-16		1024x768-32
      =================================================================
      12x22 noaccel (2.4)
      real    0m7.883s	real    0m12.175s	real    0m21.134s
      user    0m0.000s	user    0m0.000s	user    0m0.001s
      sys     0m7.882s	sys     0m12.174s	sys     0m21.129s
      
      12x22 noaccel (2.6)
      real    0m10.651s	real    0m13.550s	real    0m21.009s
      user    0m0.001s	user    0m0.001s	user    0m0.000s	
      sys     0m10.617s	sys     0m13.545s	sys     0m21.008s
      
      12x22 noaccel+patch (2.6)
      real    0m4.794s	real    0m7.718s	real    0m15.173s
      user    0m0.002s	user    0m0.001s	user    0m0.000s
      sys     0m4.792s	sys     0m7.715s	sys     0m15.170s
      =================================================================
      12x22 accel (2.4)
      real    0m3.971s	real    0m9.030s	real    0m21.711s
      user    0m0.000s	user    0m0.000s	user    0m0.000s
      sys     0m3.950s	sys     0m8.983s	sys     0m21.602s
      
      12x22 accel (2.6)
      real    0m9.392s	real    0m9.486s	real    0m9.508s
      user    0m0.000s	user    0m0.000s	user    0m0.001s
      sys     0m9.392s	sys     0m9.484s	sys     0m9.484s
      
      12x22 accel+patch (2.6)
      real    0m3.570s	real    0m3.603s	real    0m3.848s
      user    0m0.001s	user    0m0.000s	user    0m0.000s
      sys     0m3.567s	sys     0m3.600s	sys     0m3.844s
      =================================================================
      
      
      Summary:
      
      1 2.6 unaccelerated is a bit faster than 2.4 when handling 8x16 fonts,
        with a higher speed differential at high color depths.
      
      2 2.4 unaccelerated is a bit faster than 2.6 when handling 12x22 fonts,
        with a smaller speed difference at high color depths (2.6 is actually a
        bit faster than 2.4 at 32bpp).
      
      3 2.4 rivafb accelerated suffers at high color depths, even becoming
        slower than unaccelerated, possibly because of the 'draw few bytes many
        times' method.
      
      4 2.6 rivafb accelerated has similar performance at any color depth,
        possibly because of 'draw lots of bytes a fewer times' method.
      
      5 With the changes, there is a speed gain of ~1.7 seconds and ~5.7
        seconds with 8x16 and 12x22 fonts respectively indepependent of the color
        depth or acceleration used.  The speed gain is constant but significant.
      
      Below is a patch against 2.6.7-mm5.  The effects will be very noticeable
      with drivers that uses SCROLL_REDRAW, but one should still see some speed
      gain even if SCROLL_YPAN/YWRAP is used.
      
      
      Separated fb_sys_move_* into fb_iosys_move_* and fb_sysmove_* to reduce
      penalty when constructing fb_image->data from character maps.  In my
      testcase (1024x768 SCROLL_REDRAW), I get a ~1.7 second advantage with 'time
      cat MAINTAINERS' using 8x16 fonts and ~5.7 seconds with 12x22 fonts.  The
      speed gain is independent of acceleration or color depth.
      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>
      114a8aec
    • Adrian Bunk's avatar
      [PATCH] remove unused variable in mxser.c · f70af0da
      Adrian Bunk authored
      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>
      f70af0da
    • Adrian Bunk's avatar
      [PATCH] remove unused variable in esp.c · 7adf4cd1
      Adrian Bunk authored
      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>
      7adf4cd1
    • Andrew Morton's avatar
      [PATCH] i386 math emu build fix · 34123e72
      Andrew Morton authored
      rmk's patch found a defined-but-unimplemented symbol
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      34123e72
    • Jan Kara's avatar
      [PATCH] Fix minor quota race · a0a133ff
      Jan Kara authored
      It fixes a possible race between quotaoff and prune_icache.  The race could
      lead to some forgotten pointers to quotas in inodes leading later to BUG
      when invalidating quota structures.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a0a133ff
    • Martin J. Bligh's avatar
      [PATCH] ia32 NUMA: physnode_map entries can be negative · 3fec7922
      Martin J. Bligh authored
      Based on work from Bill Irwin <wli@holomorphy.com>
      
      physnode_map[] needs to be signed so that pfn_to_nid() can return negative
      values used to detect invalid pfn's.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3fec7922
    • Matt Porter's avatar
      [PATCH] ppc32: Redwood[56] support for smc91x Ethernet driver · 3796df42
      Matt Porter authored
      This patch enables the Redwood 5 and Redwood 6 platforms to use the smc91x
      ethernet driver.
      Signed-off-by: default avatarDale Farnsworth <dale@farnsworth.org>
      Signed-off-by: default avatarMatt Porter <mporter@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      3796df42
    • Paul Mackerras's avatar
      [PATCH] ppc64: set ppc_md.log_error · eaa1db04
      Paul Mackerras authored
      We have a platform-specific function pointer on ppc64 for a function to log
      errors detected by the platform, but it was never getting set.  This patch
      sets it on pSeries (the only ppc64 platform which has an error logging
      function).
      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>
      eaa1db04
    • Paul Mackerras's avatar
      [PATCH] ppc64: remove deprecated firmware API · 74713893
      Paul Mackerras authored
      From: Linas Vepstas <linas@austin.ibm.com>
      
      This patch eliminates the usage of the deprecated ibm,fw-phb-id token for
      idnetifying PCI bus heads in favor of the documented, offically supported
      mechanism for obtaining this info.  Please note that some versions of
      firmware may return incorrect values for the ibm,fw-phb-id token.
      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>
      74713893
    • Andrew Morton's avatar
      [PATCH] ntfs build fix · d650e991
      Andrew Morton authored
      gcc-2.95 chokes on this.
      
      Cc: Anton Altaparmakov <aia21@cantab.net>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      d650e991
  2. 02 Jul, 2004 29 commits