1. 19 4月, 2006 35 次提交
  2. 18 4月, 2006 5 次提交
    • P
      powerpc: Use correct sequence for putting CPU into nap mode · f39224a8
      Paul Mackerras 提交于
      We weren't using the recommended sequence for putting the CPU into
      nap mode.  When I changed the idle loop, for some reason 7447A cpus
      started hanging when we put them into nap mode.  Changing to the
      recommended sequence fixes that.
      
      The complexity here is that the recommended sequence is a loop that
      keeps putting the cpu back into nap mode.  Clearly we need some way
      to break out of the loop when an interrupt (external interrupt,
      decrementer, performance monitor) occurs.  Here we use a bit in
      the thread_info struct to indicate that we need this, and the exception
      entry code notices this and arranges for the exception to return
      to the value in the link register, thus breaking out of the loop.
      We use a new `local_flags' field in the thread_info which we can
      alter without needing to use an atomic update sequence.
      
      The PPC970 has the same recommended sequence, so we do the same thing
      there too.
      
      This also fixes a bug in the kernel stack overflow handling code on
      32-bit, since it was causing a value that we needed in a register to
      get trashed.
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f39224a8
    • J
      drm: Fix further issues in drivers/char/drm/via_irq.c · d253258c
      Jayachandran C 提交于
      Fix de-reference of 'dev_priv' before NULL check.
      Signed-off-by: NJayachandran C. <c.jayachandran@gmail.com>
      Cc: Dave Airlie <airlied@linux.ie>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      d253258c
    • A
      drivers/char/drm/drm_memory.c: possible cleanups · 031de96a
      Adrian Bunk 提交于
      - #if 0 the following unused global function:
        - drm_ioremap_nocache()
      
      - make the following needlessly global functions static:
        - agp_remap()
        - drm_lookup_map()
      Signed-off-by: NAdrian Bunk <bunk@stusta.de>
      Cc: Dave Airlie <airlied@linux.ie>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      031de96a
    • O
      [PATCH 2/2] cfq: fix cic's rbtree traversal · dbecf3ab
      OGAWA Hirofumi 提交于
      When queue dies, we set cic->key=NULL as dead mark. So, when we
      traverse a rbtree, we must check whether it's still valid key. if it
      was invalidated, drop it, then restart the traversal from top.
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      dbecf3ab
    • O
      [PATCH 1/2] iosched: fix typo and barrier() · fba82272
      OGAWA Hirofumi 提交于
      On rmmod path, cfq/as waits to make sure all io-contexts was
      freed. However, it's using complete(), not wait_for_completion().
      
      I think barrier() is not enough in here. To avoid the following case,
      this patch replaces barrier() with smb_wmb().
      
      	cpu0			visibility			cpu1
      	                [ioc_gnone=NULL,ioc_count=1]
      
      ioc_gnone = &all_gone		NULL,ioc_count=1
      atomic_read(&ioc_count)		NULL,ioc_count=1
      wait_for_completion()		NULL,ioc_count=0	atomic_sub_and_test()
      				NULL,ioc_count=0	if ( && ioc_gone)
      						    [ioc_gone==NULL,
      						    so doesn't call complete()]
      			   &all_gone,ioc_count=0
      Signed-off-by: NOGAWA Hirofumi <hirofumi@mail.parknet.co.jp>
      Signed-off-by: NJens Axboe <axboe@suse.de>
      fba82272