[PATCH 01/24] ide-tape: remove idetape_pipeline_active() - Kernel

This is a discussion on [PATCH 01/24] ide-tape: remove idetape_pipeline_active() - Kernel ; This function was simply a wrapper for a test_bit() macro so remove it and use the macro instead. Signed-off-by: Borislav Petkov --- drivers/ide/ide-tape.c | 29 +++++++++++------------------ 1 files changed, 11 insertions(+), 18 deletions(-) diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c index 3f9fbd8..792c76e 100644 ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: [PATCH 01/24] ide-tape: remove idetape_pipeline_active()

  1. [PATCH 01/24] ide-tape: remove idetape_pipeline_active()

    This function was simply a wrapper for a test_bit() macro so remove it and
    use the macro instead.

    Signed-off-by: Borislav Petkov
    ---
    drivers/ide/ide-tape.c | 29 +++++++++++------------------
    1 files changed, 11 insertions(+), 18 deletions(-)

    diff --git a/drivers/ide/ide-tape.c b/drivers/ide/ide-tape.c
    index 3f9fbd8..792c76e 100644
    --- a/drivers/ide/ide-tape.c
    +++ b/drivers/ide/ide-tape.c
    @@ -1605,14 +1605,6 @@ out:
    }

    /* Pipeline related functions */
    -static inline int idetape_pipeline_active(idetape_tape_t *tape)
    -{
    - int rc1, rc2;
    -
    - rc1 = test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags);
    - rc2 = (tape->active_data_rq != NULL);
    - return rc1;
    -}

    /*
    * The function below uses __get_free_page to allocate a pipeline stage, along
    @@ -2058,7 +2050,7 @@ static int __idetape_discard_read_pipeline(ide_drive_t *drive)

    spin_lock_irqsave(&tape->lock, flags);
    tape->next_stage = NULL;
    - if (idetape_pipeline_active(tape))
    + if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags))
    idetape_wait_for_request(drive, tape->active_data_rq);
    spin_unlock_irqrestore(&tape->lock, flags);

    @@ -2131,7 +2123,7 @@ static int idetape_queue_rw_tail(ide_drive_t *drive, int cmd, int blocks,

    debug_log(DBG_SENSE, "%s: cmd=%d\n", __func__, cmd);

    - if (idetape_pipeline_active(tape)) {
    + if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
    printk(KERN_ERR "ide-tape: bug: the pipeline is active in %s\n",
    __func__);
    return (0);
    @@ -2162,8 +2154,7 @@ static void idetape_plug_pipeline(ide_drive_t *drive)

    if (tape->next_stage == NULL)
    return;
    - if (!idetape_pipeline_active(tape)) {
    - set_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags);
    + if (!test_and_set_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
    idetape_activate_next_stage(drive);
    (void) ide_do_drive_cmd(drive, tape->active_data_rq, ide_end);
    }
    @@ -2242,13 +2233,14 @@ static int idetape_add_chrdev_write_request(ide_drive_t *drive, int blocks)
    /* Attempt to allocate a new stage. Beware possible race conditions. */
    while ((new_stage = idetape_kmalloc_stage(tape)) == NULL) {
    spin_lock_irqsave(&tape->lock, flags);
    - if (idetape_pipeline_active(tape)) {
    + if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
    idetape_wait_for_request(drive, tape->active_data_rq);
    spin_unlock_irqrestore(&tape->lock, flags);
    } else {
    spin_unlock_irqrestore(&tape->lock, flags);
    idetape_plug_pipeline(drive);
    - if (idetape_pipeline_active(tape))
    + if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE,
    + &tape->flags))
    continue;
    /*
    * The machine is short on memory. Fallback to non-
    @@ -2277,7 +2269,7 @@ static int idetape_add_chrdev_write_request(ide_drive_t *drive, int blocks)
    * starting to service requests, so that we will be able to keep up with
    * the higher speeds of the tape.
    */
    - if (!idetape_pipeline_active(tape)) {
    + if (!test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
    if (tape->nr_stages >= tape->max_stages * 9 / 10 ||
    tape->nr_stages >= tape->max_stages -
    tape->uncontrolled_pipeline_head_speed * 3 * 1024 /
    @@ -2304,10 +2296,11 @@ static void idetape_wait_for_pipeline(ide_drive_t *drive)
    idetape_tape_t *tape = drive->driver_data;
    unsigned long flags;

    - while (tape->next_stage || idetape_pipeline_active(tape)) {
    + while (tape->next_stage || test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE,
    + &tape->flags)) {
    idetape_plug_pipeline(drive);
    spin_lock_irqsave(&tape->lock, flags);
    - if (idetape_pipeline_active(tape))
    + if (test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags))
    idetape_wait_for_request(drive, tape->active_data_rq);
    spin_unlock_irqrestore(&tape->lock, flags);
    }
    @@ -2464,7 +2457,7 @@ static int idetape_init_read(ide_drive_t *drive, int max_stages)
    new_stage = idetape_kmalloc_stage(tape);
    }
    }
    - if (!idetape_pipeline_active(tape)) {
    + if (!test_bit(IDETAPE_FLAG_PIPELINE_ACTIVE, &tape->flags)) {
    if (tape->nr_pending_stages >= 3 * max_stages / 4) {
    tape->measure_insert_time = 1;
    tape->insert_time = jiffies;
    --
    1.5.4.1

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 01/24] ide-tape: remove idetape_pipeline_active()

    On Saturday 01 March 2008, Borislav Petkov wrote:
    > This function was simply a wrapper for a test_bit() macro so remove it and
    > use the macro instead.
    >
    > Signed-off-by: Borislav Petkov


    applied
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread