1. 18 Jun, 2002 1 commit
    • Ingo Molnar's avatar
      sched_yield() is misbehaving. · 18cb13a6
      Ingo Molnar authored
        the current implementation does the following to 'give up' the CPU:
      
         - it decreases its priority by 1 until it reaches the lowest level
         - it queues the task to the end of the priority queue
      
        this scheme works fine in most cases, but if sched_yield()-active tasks
        are mixed with CPU-using processes then it's quite likely that the
        CPU-using process is in the expired array. In that case the yield()-ing
        process only requeues itself in the active array - a true context-switch
        to the expired process will only occur once the timeslice of the
        yield()-ing process has expired: in ~150 msecs. This leads to the
        yield()-ing and CPU-using process to use up rougly the same amount of
        CPU-time, which is arguably deficient.
      
        i've fixed this problem by extending sched_yield() the following way:
      
        +        * There are three levels of how a yielding task will give up
        +        * the current CPU:
        +        *
        +        *  #1 - it decreases its priority by one. This priority loss is
        +        *       temporary, it's recovered once the current timeslice
        +        *       expires.
        +        *
        +        *  #2 - once it has reached the lowest priority level,
        +        *       it will give up timeslices one by one. (We do not
        +        *       want to give them up all at once, it's gradual,
        +        *       to protect the casual yield()er.)
        +        *
        +        *  #3 - once all timeslices are gone we put the process into
        +        *       the expired array.
        +        *
        +        *  (special rule: RT tasks do not lose any priority, they just
        +        *  roundrobin on their current priority level.)
        +        */
      18cb13a6
  2. 17 Jun, 2002 17 commits
  3. 16 Jun, 2002 5 commits
    • Linus Torvalds's avatar
      Linux kernel 2.5.22 · d9083ea2
      Linus Torvalds authored
      d9083ea2
    • Robert Love's avatar
      [PATCH] scheduler whitespace/comment merge from -ac · 48fc1713
      Robert Love authored
      Attached patch brings over the sane bits from 2.4-ac: i.e. if Linus
      merges this and Alan merges your patch minus my complaints, the two
      trees will be in sync...
      48fc1713
    • Linus Torvalds's avatar
    • Martin Dalecki's avatar
      [PATCH] 2.5.21 ide 92 · 78929a18
      Martin Dalecki authored
       - Finally unify task_in_intr and task_mulin_intr. One crucial code path less to
         watch out, but a quite dangerous step in itself. PIO reading is functional
         again. The next step will be the unification of the write path of course.
      
       - Introduce a small helper for the execution of task file commands which
         basically just send a simple command down to the drive.
      
       - Add a buffer parameter to ide_raw_taskfile allowing to unify the handling of
         ioctl and normal ide_raw_taskfile request.
      
       - Fix some small function pointer type mismatches.
      
      Apply more host chip controller clenups by Bartlomiej:
      
           - move setting drive->current_speed from *_tune_chipset()
             to ide_config_drive_speed()
      
          cmd64x.c:
      	- convert cmd64x_tuneproc() to use ata-timing library
      	- clean cmd64x_tune_chipset() and cmd680_tune_chipset()
      
          hpt366.c:
      	- remove empty timings table
      
          it8172.c:
      	- kill prototypes
      	- update to new udma_setup() scheme
      
          - misc cleanups
      78929a18
    • Linus Torvalds's avatar
      Fix smbfs debug macros · 47496445
      Linus Torvalds authored
      47496445
  4. 15 Jun, 2002 14 commits
    • Linus Torvalds's avatar
      cardbus.c: · 9f64c00f
      Linus Torvalds authored
        Set up CardBus cards correctly: initialize them fully
        before calling device_register(), and make sure to tell
        the world that it's a PCI-like bus.
      9f64c00f
    • Pavel Machek's avatar
      [PATCH] suspend-to-{ram/disk} cleanups/fixes for 2.5.21 · ef8e826c
      Pavel Machek authored
      This kills Sysrq-D support (did not work anyway, and complicated
      code).
      
      Adds resume support to i8259A (otherwise interrupts will not work
      after S3).
      
      HAVE_NEW_DEVICE_MODEL is always true in 2.5, so we should define
      it. S3 can't work properly without that. Also limit toshiba workaround
      to S1. (This hide lack of i8259A support for me).
      
      Fixes compilation, and kills <asm/suspend.h> being included
      twice with ugly hacks around.
      ef8e826c
    • William Lee Irwin III's avatar
      3f52c652
    • François Romieu's avatar
      [PATCH] 2.5.21 - hdlc drivers fixes · d5ba0bf6
      François Romieu authored
      - (leak) memory allocated in dscc4_found1() isn't freed by caller in error path.
        dscc4_free1() is now in charge of this duty.
      - (style) code factored in dscc4_remove_one after use of dscc4_free1().
      d5ba0bf6
    • François Romieu's avatar
      [PATCH] 2.5.21 - hdlc drivers fixes · ae2e9fea
      François Romieu authored
      - (compilation fix) plain old typo in struct member naming.
      ae2e9fea
    • François Romieu's avatar
      [PATCH] 2.5.21 - hdlc drivers fixes · 0d9124dc
      François Romieu authored
      - (compilation fix) missing init.h include;
      - (compilation fix) multiple pointers can't be set to NULL in one line if their
        type differ.
      0d9124dc
    • François Romieu's avatar
      [PATCH] 2.5.21 - hdlc drivers fixes · 9eccc1de
      François Romieu authored
      Courtesy of Kevin Curtis <kevin.curtis@farsite.co.uk>, posted
      on l-k the 2002/04/15.
      
      Description
      - (compilation fix) removal of deprecated fields in net_device;
      - (bug) early pci_enable_device.
      9eccc1de
    • Andries E. Brouwer's avatar
      [PATCH] SCSI stuff part 2 · 0b2c0d4f
      Andries E. Brouwer authored
      Below a patch removing the list of sense codes from usb/storage/debug.h
      since the same list is already found in scsi/constants.c.
      This also brings this list up to date with SCSI-3.
      0b2c0d4f
    • Andries E. Brouwer's avatar
      [PATCH] scsi stuff · a19bafa6
      Andries E. Brouwer authored
      The patch below cleans up some SCSI stuff.
      
      The main purpose is to avoid trying to read the partition table
      of a removable disk when the drive has told us that no media
      are present. (Right now we try to read a 4K block and fail and
      retry and fail, and give an I/O error on the first sector,
      then try to read the second sector and fail and retry ...)
      
      Unused fields  sector_bit_size  and  sector_bit_shift  in
      struct scsi_disk were removed. The field  has_part_table
      (that has nothing to do with partition tables) was
      renamed to  has_been_registered . The field  ready  was
      renamed to  media_present .
      The overly long  sd_init_onedisk()  was split up.
      
      When we notice that no media are present anymore, the
      partitions are removed from /proc/partitions, but the
      drive remains, with size 0.
      
      A future patch will remove the field  capacity  - there are
      all too many places where capacities are stored - but the
      present patch is large enough already.
      
      There is also a quite independent patch in scsi_error.c
      (yesterday someone had an infinite loop retrying to read
      bad media) - this patch honours the SCpnt->retries.
      In case you applied this already, just ignore the scsi_error.c part.
      
      Also some "Overrides for Emacs" were removed.
      a19bafa6
    • Linus Torvalds's avatar
      Merge master.kernel.org:/home/mingo/BK/linux-2.5-misc/ · 2b4b6c20
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      2b4b6c20
    • Ingo Molnar's avatar
    • Linus Torvalds's avatar
      Merge http://gkernel.bkbits.net/net-drivers-2.5 · 56970f58
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      56970f58
    • Linus Torvalds's avatar
      Merge http://gkernel.bkbits.net/irda-2.5 · 39412eff
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      39412eff
    • Linus Torvalds's avatar
      Merge http://gkernel.bkbits.net/misc-2.5 · 079f066a
      Linus Torvalds authored
      into home.transmeta.com:/home/torvalds/v2.5/linux
      079f066a
  5. 14 Jun, 2002 3 commits