1. 28 Aug, 2002 21 commits
    • Andrew Morton's avatar
      [PATCH] reduced TLB invalidation rate · 37717bca
      Andrew Morton authored
      It has been noticed that across a kernel build many calls to
      tlb_flush_mmu() do not have anything to flush, apparently because glibc
      is mmapping a file over a previously-mapped region which has no
      faulted-in ptes.
      
      This patch detects this case and optimises away a little over one third
      of the tlb invalidations.
      
      The functions which potentially cause an invalidate are
      tlb_remove_tlb_entry(), pte_free_tlb() and pmd_free_tlb().  These have
      been front-ended in asm-generic/tlb.h and the per-arch versions now
      have leading double-underscores.  The generic versions tag the
      mmu_gather_t as needing a flush and then call the arch-specific
      version.
      
      tlb_flush_mmu() looks at tlb->need_flush and if it sees that no real
      activity has happened, the invalidation is avoided.
      
      The success rate is displayed in /proc/meminfo for the while.  This
      should be removed later.
      37717bca
    • Andrew Morton's avatar
      [PATCH] minor page_alloc.c things · ec4affa6
      Andrew Morton authored
      - Kill duplicate debug check
      
      - Add a test for pages which have a pte_chain coming off the buddy lists.
      ec4affa6
    • Linus Torvalds's avatar
      Don't use __func__ - not all versions of gcc support it. · 97f068ec
      Linus Torvalds authored
      Some day gcc may drop support for __FUNCTION__ entirely, we'll
      just add a #define __FUNCTION__ __func__ at that point. In the
      meantime, gcc-3.x warns about pasting __FUNCTION__, so don't do it.
      97f068ec
    • Pete Zaitcev's avatar
      [PATCH] Patch to irq compat stuff in 2.5.32 · 9d5dd622
      Pete Zaitcev authored
      This came up in 2.5.30, apparently someone was fooled by names
      which do not quite match actual functions.
      9d5dd622
    • Alexander Viro's avatar
      [PATCH] move add_gendisk()/del_gendisk() into ->reinit() and ->cleanup() · b6b7580f
      Alexander Viro authored
      add_gendisk()/del_gendisk() moved into ->reinit() and ->cleanup() of
      ide-{disk,cd,floppy} - i.e.  moments when high-levle driver claims/gives
      up a drive.
      
      register_disk() also shifted into ->reinit().
      
      consequently, revalidate_drives() is gone (it did messy postponed
      rereading of partition tables; not needed anymore).  Ditto for
      ide_geninit().
      
      regular 2.5 changes in ->revalidate() and BLKRRPART handling - same as
      all other block devices.
      b6b7580f
    • Alexander Viro's avatar
      [PATCH] put ide_driver_t on lists · 9e8a6e88
      Alexander Viro authored
      instead of messing with ide_module_t, we put ide_driver_t themselves on
      a (cyclic) list - said list being the only use of ide_module_t for
      high-level drivers.  ide_register_module()/ide_unregister_module() takes
      ide_driver_t now (renamed to ide_register_driver()).  /proc/ide/drivers
      switched to use of that cyclic list and uses seq_file instead of old
      home-grown code.
      9e8a6e88
    • Alexander Viro's avatar
      [PATCH] Remove unused high-level IDE ->init method · 0d567824
      Alexander Viro authored
      ->init() for high-level drivers is never called (other than as
      module_init() when they are initialized).  Method removed, instances
      cleaned up.
      0d567824
    • Alexander Viro's avatar
      [PATCH] turn ide_reinit_drive() into ata_attach() · b20830fb
      Alexander Viro authored
      ide_reinit_drive() turned into ata_attach().  Said beast takes a drive,
      tries to feed it to high-level drivers and drops it on the ata_unused if
      nobody claims the sucker.  IOW, that's what ide_register_module() used
      to do, but for a single drive.
      
      ideprobe_init() calls ata_attach() instead of putting on ata_unused.
      
      ide_register_module() eliminated.  Some of the callers do not need it
      anymore, some (ide_replace_subdriver()) actually want ata_attach(drive).
      
      ide_scan_devices() is gone.  There were two remaining callers - in
      ide_register_module() and ide_unregister_module().  The former had been
      turned into "put driver on the list, empty ata_unused into temporary
      list and call ata_attach() on all drives there".  The latter is "remove
      driver from the list, call ->cleanup() and ata_attach() for all drives"
      (->cleanup() gives the drive up, ata_attach() gives the remaining
      drivers a shot for that drive; if nobody claims it - it's put on
      ata_unused).
      b20830fb
    • Alexander Viro's avatar
      [PATCH] Add ->owner to ide_driver_t · ce3058ec
      Alexander Viro authored
      ->owner added to ide_driver_t.  MOD_INC_USE_COUNT/MOD_DEC_USE_COUNT
      taken out of ->reinit().  ide_reinit_drive() turned into "call
      ->reinit() for all high-level drivers that are registered until somebody
      claims the drive" (instead of open-coded variant in 2.5.32; cleaner and
      works correctly for modular drivers).
      ce3058ec
    • Alexander Viro's avatar
      [PATCH] per-drive IDE deregistration · 20d346ec
      Alexander Viro authored
      loops in ide_cdrom_init()/ide_cdrom_exit(), etc. are pulled into
      ide_register_module()/ide_unregister_module() resp.
      20d346ec
    • Alexander Viro's avatar
      [PATCH] Remove duplicate calls to ide_cdrom_init(), idedisk_init(), etc · 47a1397b
      Alexander Viro authored
      Duplicate calls of ide_cdrom_init(), idedisk_init(), etc. are removed
      from ide_init_builtin_drivers() (they were called both from there (i.e.
      from ide_init()) and later as module_init() for high-level drivers).
      47a1397b
    • Alexander Viro's avatar
      [PATCH] move media_type checks from ide_scan_devices() to ->reinit · 2923c262
      Alexander Viro authored
      Checks for media type, ->driver_req, etc.  are moved from the
      ide_scan_devices() to ->reinit().  ide_scan_devices() had lost first two
      arguments (it will completely disappear later).
      2923c262
    • Alexander Viro's avatar
      [PATCH] put IDE drives on lists · 06330ca4
      Alexander Viro authored
      This puts drives on cyclic lists - per-driver ones for drives that had
      been claimed by high-level drivers and ata_unused for unclaimed drives.
      We put drives on ata_unused in the very end of ideprobe_init() and then
      move them to drivers' lists as they are claimed.
      06330ca4
    • Alexander Viro's avatar
      [PATCH] finish introduction of ->reinit() · 86a995ac
      Alexander Viro authored
      Finish introduction of ->reinit() - Jens had missed MOD_DEC_USE_COUNT on
      several exits from ide-cd one and forgot to remove the loop from
      ide-floppy ide-tape and ide-scsi ones ;-) (->reinit() is the body of
      loop in ->init() - stuff that should be done one drive; in 2.5.32
      ide-disk one is OK, ide-cd is OK modulo minor bugs and in the rest it's
      a copy of ->init())
      86a995ac
    • Alexander Viro's avatar
      [PATCH] move stuff from ide_register_subdriver() to ide-probe.c · 65862d88
      Alexander Viro authored
      Move stuff from ide_register_subdriver() (associating drive with
      high-level driver) to ide-probe.c, so that remaining stuff can be safely
      called in parallel with IO on other drives [Andre]
      65862d88
    • Rusty Russell's avatar
      [PATCH] list_for_each_entry · 00a8a8c1
      Rusty Russell authored
      This adds list_for_each_entry, which is the equivalent of list_for_each
      and list_entry, except only one variable is needed.
      00a8a8c1
    • Anton Blanchard's avatar
      [PATCH] compile fix for st.c · 23f7ec50
      Anton Blanchard authored
      23f7ec50
    • Matthew Wilcox's avatar
      [PATCH] push the BKL down in setfl · 529787ea
      Matthew Wilcox authored
      Just pushes the BKL down a little, no big deal.
      529787ea
    • Matthew Wilcox's avatar
      [PATCH] reintroduce close() optimisation · 25aef71f
      Matthew Wilcox authored
      This optimisation is really noticeable as it avoids having to take the
      BKL on every close().
      25aef71f
    • Matthew Wilcox's avatar
      [PATCH] More support for upward growing stacks · ea3bc13f
      Matthew Wilcox authored
       - remove elf_caddr_t. It's positively dangerous to #define this since
         elf_caddr_t foo, bar; creates variables of different types (foo is
         char *, bar is char).
       - rewrite large chunks of create_elf_tables(), it needed cleaning anyway.
       - add upwards-growing stack support to create_elf_tables.
       - redefine the ARCH_DLINFO stuff on powerpc -- it's tested, works.
       - add upwards-growing-stack support to exec.c too.
      ea3bc13f
    • Linus Torvalds's avatar
  2. 27 Aug, 2002 19 commits