1. 26 May, 2005 9 commits
    • Stephen Hemminger's avatar
      [PKT_SCHED] netem: use only inner qdisc -- no private skbuff queue · 0f9f32ac
      Stephen Hemminger authored
      Netem works better if there if packets are just queued in the inner discipline
      rather than having a separate delayed queue. Change to use the dequeue/requeue
      to peek like TBF does.
      
      By doing this potential qlen problems with the old method are avoided. The problems
      happened when the netem_run that moved packets from the inner discipline to the nested
      discipline failed (because inner queue was full). This happened in dequeue, so the
      effective qlen of the netem would be decreased (because of the drop), but there was
      no way to keep the outer qdisc (caller of netem dequeue) in sync.
      
      The problem window is still there since this patch doesn't address the issue of
      requeue failing in netem_dequeue, but that shouldn't happen since the sequence dequeue/requeue
      should always work.  Long term correct fix is to implement qdisc->peek in all the qdisc's
      to allow for this (needed by several other qdisc's as well).
      Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0f9f32ac
    • Stephen Hemminger's avatar
      [PKT_SCHED]: netem: reinsert for duplication · 0afb51e7
      Stephen Hemminger authored
      Handle duplication of packets in netem by re-inserting at top of qdisc tree.
      This avoid problems with qlen accounting with nested qdisc. This recursion
      requires no additional locking but will potentially increase stack depth.
      Signed-off-by: default avatarStephen Hemminger <shemminger@osdl.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0afb51e7
    • Linus Torvalds's avatar
    • Marcello Maggioni's avatar
      [PATCH] timeout at boottime with NEC3500A (and possibly others) when inserted a CD in it · 284e4238
      Marcello Maggioni authored
      From: Marcello Maggioni <hayarms@gmail.com>
      
      Problem: Some drives (NEC 3500, TDK 1616N, Mad-dog MD-16XDVD9, RICOH
      MP5163DA, Memorex DVD9 drive and IO-DATA's too for sure), if a
      CD/DVD is inserted into the tray when the system is booted and if
      before the OS bootup the BIOS checked for the presence of a bootable
      CD/DVD into the drive, during the IDE probe phase the drive may
      result busy and remain so for the next 25/30 seconds . This cause the
      drive to be skipped during the booting phase and not begin usable
      until the next reboot (if the reboot goes well and the drive doesn't
      timeout again).
      
      Solution: Rising the timeout time from 10 seconds to 35 seconds
      (during these 35 seconds every drive should wake up for sure
      according to the tests I've done).
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      284e4238
    • Stuart Hayes's avatar
      [PATCH] ide-scsi: kmap scatter/gather before doing PIO · 41bb4c43
      Stuart Hayes authored
      From: Stuart Hayes <Stuart_Hayes@dell.com>
      
      The system can panic with a null pointer dereference using ide-scsi if
      PIO is being done on scatter gather pages that are in high memory,
      because page_address() returns 0.  We are actually seeing this using a
      tape drive.  This patch will kmap_atomic() the pages before performing
      PIO.
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      41bb4c43
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] convert IDE device drivers to driver-model · 8604affd
      Bartlomiej Zolnierkiewicz authored
      * add ide_bus_match() and export ide_bus_type
      * split ide_remove_driver_from_hwgroup() out of ide_unregister()
      * move device cleanup from ide_unregister() to drive_release_dev()
      * convert ide_driver_t->name to driver->name
      * convert ide_driver_t->{attach,cleanup} to driver->{probe,remove}
      * remove ide_driver_t->busy as ide_bus_type->subsys.rwsem
        protects against concurrent ->{probe,remove} calls
      * make ide_{un}register_driver() void as it cannot fail now
      * use driver_{un}register() directly, remove ide_{un}register_driver()
      * use device_register() instead of ata_attach(), remove ata_attach()
      * add proc_print_driver() and ide_drivers_show(), remove ide_drivers_op
      * fix ide_replace_subdriver() and move it to ide-proc.c
      * remove ide_driver_t->drives, ide_drives and drives_lock
      * remove ide_driver_t->drivers, drivers and drivers_lock
      * remove ide_drive_t->driver and DRIVER() macro
      Signed-off-by: default avatarBartlomiej Zolnierkiewicz <bzolnier@elka.pw.edu.pl>
      8604affd
    • Albert Lee's avatar
      [PATCH] libata: Fix zero sg_dma_len() on 64-bit platform · 32529e01
      Albert Lee authored
      When testing ATAPI PIO data transfer on the ppc64 platform,  __atapi_pio_bytes() got zero when
      sg_dma_len() is used. I checked the <asm-ppc64/scatterlish.h>, the struct scatterlist is defined as:
      
      struct scatterlist {
      	struct page *page;
      	unsigned int offset;
      	unsigned int length;
      
      	/* For TCE support */
      	u32 dma_address;
      	u32 dma_length;
      };
      
      #define sg_dma_address(sg)	((sg)->dma_address)
      #define sg_dma_len(sg)		((sg)->dma_length)
      
      So, if the scatterlist is not DMA mapped, sg_dma_len() will return zero on ppc64.
      The same problem should occur on the x86-64 platform.
      On the i386 platform, sg_dma_len() returns sg->length, that's why the problem does not occur on an i386.
      
      Changes:
      - Use sg->length if the scatterlist is not DMA mapped (yet).
      Signed-off-by: default avatarAlbert Lee <albertcc@tw.ibm.com>
      32529e01
    • Linus Torvalds's avatar
    • Linus Torvalds's avatar
  2. 25 May, 2005 30 commits
  3. 24 May, 2005 1 commit