From: Martin Dalecki <dalecki@evision-ventures.com>
To: Jens Axboe <axboe@suse.de>
Cc: Petr Vandrovec <VANDROVE@vc.cvut.cz>, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] IDE TCQ #4
Date: Tue, 16 Apr 2002 13:01:57 +0200 [thread overview]
Message-ID: <3CBC04A5.1040201@evision-ventures.com> (raw)
In-Reply-To: <27670700DF5@vcnet.vc.cvut.cz> <20020416102501.GG17043@suse.de>
Jens Axboe wrote:
> yes this looks like a silly problem. the fix should be to have
> ata_ar_get() set ATA_AR_RETURN in ar_flags:
>
> if (!list_empty(&drive->free_req)) {
> ar = list_ata_entry(drive->free_req.next);
> list_del(&ar->ar_queue);
> ata_ar_init(drive, ar);
> ar->ar_flags |= ATA_AR_RETURN;
> }
>
> and then only have ata_ar_put() readd it to the list when it is set:
>
> static inline void ata_ar_put(ide_drive_t *drive, struct ata_request
> *ar)
> {
> if (ar->ar_flags & ATA_AR_RETURN)
> list_add(&ar->ar_queue, &drive->free_req);
> ...
>
> Then you can also remove the ata_ar_put() conditional in
> ide_end_drive_cmd(), just call ata_ar_put() unconditionally.
Well something similar is already in IDE 37... I have just
invented a flag ATA_AR_STATIC which get's set in ide_raw_taskfile
ata_ar_put ich then checking for if (!(ar->ar_flags & ATA_AR_STATIC))...
It has the desired effect in practice.
next prev parent reply other threads:[~2002-04-16 12:04 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-04-15 19:28 [PATCH] IDE TCQ #4 Petr Vandrovec
2002-04-16 10:25 ` Jens Axboe
2002-04-16 10:39 ` USB-Mouse-Bug in 2.4.16-8 ? mtopper
2002-04-19 16:28 ` Greg KH
2002-04-16 11:01 ` Martin Dalecki [this message]
2002-04-16 12:28 ` [PATCH] IDE TCQ #4 Jens Axboe
2002-04-16 11:44 ` Martin Dalecki
-- strict thread matches above, loose matches on Subject: below --
2002-04-18 22:05 Andries.Brouwer
2002-04-15 19:29 Petr Vandrovec
2002-04-15 19:00 ` Jens Axboe
2002-04-15 19:11 Petr Vandrovec
2002-04-15 18:41 Petr Vandrovec
2002-04-15 18:26 ` Jens Axboe
2002-04-16 5:11 ` Martin Dalecki
2002-04-15 12:56 Jens Axboe
2002-04-15 12:24 ` Martin Dalecki
2002-04-15 13:33 ` Jens Axboe
2002-04-15 12:39 ` Martin Dalecki
2002-04-15 16:13 ` Aaron Tiensivu
2002-04-15 16:18 ` Jens Axboe
2002-04-15 16:44 ` Jens Axboe
2002-04-16 10:25 ` Jens Axboe
[not found] ` <20020416200051.7ae38411.sebastian.droege@gmx.de>
[not found] ` <20020416180914.GR1097@suse.de>
2002-04-16 18:43 ` Sebastian Droege
2002-04-17 7:48 ` Martin Dalecki
2002-04-17 11:28 ` Sebastian Droege
2002-04-17 10:32 ` Martin Dalecki
2002-04-17 11:40 ` Sebastian Droege
2002-04-17 10:42 ` Martin Dalecki
2002-04-18 12:17 ` Sebastian Droege
2002-04-18 11:20 ` Martin Dalecki
2002-04-18 12:26 ` Sebastian Droege
2002-04-18 12:57 ` Jens Axboe
2002-04-18 12:57 ` Jens Axboe
2002-04-18 11:59 ` Martin Dalecki
2002-04-18 13:07 ` Jens Axboe
2002-04-18 12:08 ` Martin Dalecki
2002-04-18 13:12 ` Jens Axboe
2002-04-18 12:16 ` Martin Dalecki
2002-04-18 13:26 ` Jens Axboe
2002-04-18 12:40 ` Martin Dalecki
2002-04-18 12:45 ` Martin Dalecki
2002-04-18 14:17 ` Alan Cox
2002-04-18 13:01 ` Jens Axboe
2002-04-17 7:32 ` Helge Hafting
2002-04-17 13:01 ` Dave Jones
2002-04-17 13:05 ` Jens Axboe
2002-04-30 19:58 ` Martin Schewe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=3CBC04A5.1040201@evision-ventures.com \
--to=dalecki@evision-ventures.com \
--cc=VANDROVE@vc.cvut.cz \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.