public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Kristian Høgsberg" <krh@redhat.com>
To: Pieter Palmers <pieterp@joow.be>
Cc: linux-kernel@vger.kernel.org, linux1394-devel@lists.sourceforge.net
Subject: Re: [PATCH 0/4] New firewire stack - updated patches
Date: Wed, 20 Dec 2006 13:39:21 -0500	[thread overview]
Message-ID: <45898359.9020303@redhat.com> (raw)
In-Reply-To: <458956CB.7060004@joow.be>

Pieter Palmers wrote:
> Kristian Høgsberg wrote:
>> Hi,
>>
>> Here's a new set of patches for the new firewire stack.  The changes
>> since the last set of patches address the issues that were raised on
>> the list and can be reviewed in detail here:
> .. for some reason I didn't get patch 3/4 and 4/4 on the linux1394-devel 
> list, so I'll reply to this one.
> 
> I would suggest a reordering of the interrupt flag checks. Currently the 
> interrupts that are least likely to occur are checked first. I don't see 
> why. I would reorder the check such that ISO interrupts are checked 
> first, as they have the most stringent timing constraints and are most 
> likely to occur (when using ISO traffic).

All the interrupt handler does is schedule tasklets and they are all handled 
before returning to userspace.  So not matter how you order them it's going to 
take the same time.  If you want to defer handling of async traffic to after 
your userspace handler has run, you need to schedule a work_struct for 
handling the async events.

Having said that, I doubt that the latency between iso interrupt and user 
space handler imposed by the irq handler and the tasklets will be a problem. 
All the async tasklets do is copy the data out of the DMA buffers, possibly 
lookup a corresponding request and eventually call complete() on some struct 
completion.  The worst case is the bus reset tasklet which does the topology 
walk, but even that is pretty fast.

> After processing the ISO interrupts (and maybe the Async ones), a bypass 
> could be inserted to exit the interrupt handler when there are no other 
> interrupts to be handled. All other interrupts are to report relatively 
> rare events or errors (error handling still to be added I assume). The 
> effective run-length of the interrupt handler would be shorter using 
> such a bypass, especially in the case where there is a lot of ISO traffic.
> 
> I'm looking forward to your ISO implementation, and I hope to 
> incorporate it into FreeBob really fast.

Sounds great, I'll get to the isochronous receive feature as soon as possible. 
  I'm open to changing the interrupt handling if we can acheive lower latency, 
but we need to be able to measure it before we start making changes.

cheers,
Kristian


  reply	other threads:[~2006-12-20 18:43 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-20  0:58 [PATCH 0/4] New firewire stack - updated patches Kristian Høgsberg
2006-12-20 10:42 ` Stefan Richter
2006-12-20 17:35   ` Kristian Høgsberg
2006-12-20 18:57     ` Stefan Richter
2006-12-20 20:06       ` Kristian Høgsberg
2006-12-20 21:52         ` Stefan Richter
2006-12-20 23:01           ` Stefan Richter
2006-12-20 20:34       ` Stefan Richter
2006-12-20 15:29 ` Pieter Palmers
2006-12-20 18:39   ` Kristian Høgsberg [this message]
2006-12-21 23:03 ` Stefan Richter
  -- strict thread matches above, loose matches on Subject: below --
2006-12-21 11:47 Duncan Beadnell

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=45898359.9020303@redhat.com \
    --to=krh@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux1394-devel@lists.sourceforge.net \
    --cc=pieterp@joow.be \
    /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