From: Martin Dalecki <dalecki@evision-ventures.com>
To: Jens Axboe <axboe@suse.de>
Cc: Linus Torvalds <torvalds@transmeta.com>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.5.20 IDE 85
Date: Wed, 05 Jun 2002 17:26:34 +0200 [thread overview]
Message-ID: <3CFE2DAA.3000203@evision-ventures.com> (raw)
In-Reply-To: <Pine.LNX.4.33.0206021853030.1383-100000@penguin.transmeta.com> <3CFE0C16.1020203@evision-ventures.com> <20020605141717.GB16257@suse.de> <3CFE1974.9080509@evision-ventures.com> <20020605154853.GF16600@suse.de> <20020605155241.GD16257@suse.de> <3CFE29FE.90402@evision-ventures.com> <20020605161417.GG16600@suse.de>
Jens Axboe wrote:
> On Wed, Jun 05 2002, Martin Dalecki wrote:
>
>>Jens Axboe wrote:
>>
>>>On Wed, Jun 05 2002, Jens Axboe wrote:
>>>
>>>
>>>>On Wed, Jun 05 2002, Martin Dalecki wrote:
>>>>
>>>>
>>>>>Jens Axboe wrote:
>>>>>
>>>>>
>>>>>>On Wed, Jun 05 2002, Martin Dalecki wrote:
>>>>>>
>>>>>>AFAICS, you just introduced some nasty list races in the interrupt
>>>>>>handlers. You must hold the queue locks when calling
>>>>>>blkdev_dequeue_request() and end_that_request_last(), for instance.
>>>>>>
>>>>>
>>>>>No. Please be more accurate. Becouse:
>>>>>
>>>>>1. If anything I have made existing races only "obvious".
>>>>
>>>>If anything, you've made a race you introduced earlier more obvious.
>>>>
>>>>
>>>>
>>>>>2. It is called in the context of do_ide_request or ide_raw_taskfile
>>>>> where we already have the lock.
>>>>
>>>>?? Both tcq and ata_special_intr look like interrupt handlers to me.
>>>
>>>
>>>BTW, I wanted to look at the code (and not just read the patch), but
>>>it's not clear from the patch what it is against. Where do you keep
>>>older patches so I can get them? Maybe the ide code could do with a bit
>>>of peer review :-)
>>>
>>
>>Well IDE 83 and 84 are already inside the bk repository at linux.bkbits.com.
>>No as far as of now I don't have any public FTP or whatever area for
>>the patches (Well send you everything in one go.)
>
>
> Thanks. Just ask hpa for a kernel.org dir, if you don't have anywhere
> else to keep it.
>
>
>>And I of course agree that the code needs a peer review in this area.
>>Adding the locking isn't difficult.
>
>
> Of course not, discovering the missing locking is most of the work. And
> of course acknowedging that there's a problem :-)
Just to make sure that we understand each other. I admitt that
you are right there have to be locks there. As well as around any host chip
access. Thanks for the reminder.
And well please note that the last patches in esp. are trying
hard to reducde the number of possible code flow branch cases.
>>However I wonder a bit whatever we couldn't just blkdev_dequeue_request()
>>once at request handling start? We drag drive->rq around anyway...
>
>
> I did that once a long time ago, but it was very broken because the IDE
> code would end up in ide_do_request() several times at times before a
> request was started. I think there are advantages both ways: leaving the
> request on the queue until it is done allows the i/o scheduler to know
> what the disk is currently working on. Removing it is potentially a bit
> cleaner, however most of the reason for that has long been reworked in
> 2.5 (the plugging and head active stuff).
Yes I remember - the IDE/SCSI queue head differencies. Making
them to behave entierly equal would have some charm too...
However the multi ide_do_request entry problems should
have got *much* better due to the reduction of the multiple
submitted/injected artifical request (REQ_ and friends) types.
The remaining one is now only ide_raw_taskfile
and the regular onces. Well ide-tape and packet command handling aside...
but whom I'm telling this ... I'm sure you already know...
next prev parent reply other threads:[~2002-06-05 16:25 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-06-03 1:56 Linux 2.5.20 Linus Torvalds
2002-06-03 3:06 ` 2.5.20 -- suspend.c still breaks the build (originally reported for 2.5.18) Miles Lane
2002-06-04 14:06 ` Pavel Machek
2002-06-03 3:18 ` [patch] i386 "General Options" - begone [take 2] Brad Hards
2002-06-03 22:42 ` Rusty Russell
2002-06-04 14:09 ` Pavel Machek
2002-06-04 22:05 ` Brad Hards
2002-06-02 5:16 ` Pavel Machek
2002-06-03 13:34 ` Oops Linux 2.5.20 Martin Dalecki
2002-06-03 14:06 ` [PATCH] 2.5.20 airo wireless - "I can't get no, compilation..." Martin Dalecki
2002-06-03 14:09 ` ]PATCH] 2.5.20 IDE 83 Martin Dalecki
2002-06-04 12:07 ` Jens Axboe
2002-06-04 15:30 ` [PATCH] 2.5.20 IDE 84 Martin Dalecki
2002-06-05 13:03 ` [PATCH] 2.5.20 IDE 85 Martin Dalecki
2002-06-05 14:17 ` Jens Axboe
2002-06-05 14:00 ` Martin Dalecki
2002-06-05 15:48 ` Jens Axboe
2002-06-05 15:52 ` Jens Axboe
2002-06-05 15:10 ` Martin Dalecki
2002-06-05 16:14 ` Jens Axboe
2002-06-05 15:26 ` Martin Dalecki [this message]
2002-06-05 18:02 ` Jeff Garzik
2002-06-06 7:17 ` Martin Dalecki
2002-06-05 16:36 ` [PATCH] Cleanup i386 <linux/init.h> abuses Tom Rini
2002-06-07 11:01 ` Pavel Machek
2002-06-07 19:19 ` Thunder from the hill
2002-06-07 19:26 ` Tom Rini
2002-06-05 23:22 ` [PATCH] Add <linux/kdev_t.h> to <linux/bio.h> Tom Rini
2002-06-05 23:34 ` Russell King
2002-06-05 23:42 ` Tom Rini
2002-06-06 18:33 ` [PATCH] Move vmalloc wrappers out of include/linux/vmalloc.h Tom Rini
2002-06-06 19:44 ` [PATCH] Remove <linux/mm.h> from <linux/vmalloc.h> Tom Rini
2002-06-06 21:02 ` [PATCH] More work on removing " Tom Rini
2002-06-06 21:21 ` [PATCH] Include <linux/gfp.h> directly instead of via <linux/mm.h> Tom Rini
2002-06-06 21:24 ` [PATCH] Remove numerous includes from <linux/mm.h> Tom Rini
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=3CFE2DAA.3000203@evision-ventures.com \
--to=dalecki@evision-ventures.com \
--cc=axboe@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox