Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1479960

Re: [PATCH v3] genirq: Machine-parsable version of /proc/interrupts

From Thomas Gleixner <tglx@linutronix.de>
Newsgroups linux.kernel
Subject Re: [PATCH v3] genirq: Machine-parsable version of /proc/interrupts
Date 2016-09-09 14:50 +0200
Message-ID <sftpM-2S8-27@gated-at.bofh.it> (permalink)
References <sfbsS-hA-23@gated-at.bofh.it> <sfe7n-23T-13@gated-at.bofh.it> <sffGa-35c-15@gated-at.bofh.it> <sffPQ-3bV-21@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, 8 Sep 2016, Craig Gallek wrote:
> On Thu, Sep 8, 2016 at 6:00 PM, Randy Dunlap <rdunlap@infradead.org> wrote:
> > On 09/08/16 13:25, Craig Gallek wrote:
> >> From: Craig Gallek <kraig@google.com>
> >>
> >> Add struct kobject to struct irq_desc to allow for easy export
> >> to sysfs.  This allows for much simpler userspace-parsing of
> >> the information contained in struct irq_desc.
> >>
> >> Note that sysfs is not available at the time of early irq initialization.
> >> These interrupts are accounted for using a postcore_initcall callback.
> >>
> >> Examples:
> >>   /sys/kernel/irq/18/actions: i801_smbus,ehci_hcd:usb1,uhci_hcd:usb7
> >>   /sys/kernel/irq/18/chip_name:       IR-IO-APIC
> >>   /sys/kernel/irq/18/hwirq:           18
> >>   /sys/kernel/irq/18/name:            fasteoi
> >>   /sys/kernel/irq/18/per_cpu_count:   0,0
> >>   /sys/kernel/irq/18/type:            level
> >>
> >>   /sys/kernel/irq/25/actions: ahci0
> >>   /sys/kernel/irq/25/chip_name:       IR-PCI-MSI
> >>   /sys/kernel/irq/25/hwirq:           512000
> >>   /sys/kernel/irq/25/name:            edge
> >>   /sys/kernel/irq/25/per_cpu_count:   29036,0
> >>   /sys/kernel/irq/25/type:            edge
> >
> > Thanks for the update.
> >
> > One concern:
> >
> > This per_cpu_count is for online CPUs only.
> > How does this help when the online CPUs change?
> >
> > E.g., above could be for CPUs 1 and 5.
> > The next time that it is read it could be for CPUs 0 and 3.
> > Seems that it could be confusing even for software reading it.
> 
> Thanks for the feedback. I imagine most use cases for this will simply
> add up all the values to obtain a total.  There's not a lot of use for
> the individual elements unless you additionally know something about
> the CPU id layout, interrupt pinning, and/or CPU online state.  The
> /proc/interrupts interface has this same issue, but additionally uses
> column headers.  There's really know way to give a similar consistent
> view of all of this data using multiple sysfs files.  Given this lack
> of atomicity, across files, I don't think it's unreasonable for the
> counter order to change when the system's online CPUs change.

Can you please spell that out in the documentation?

Thanks,

	tglx

 

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v2] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-08 19:40 +0200
  Re: [PATCH v2] genirq: Machine-parsable version of /proc/interrupts Randy Dunlap <rdunlap@infradead.org> - 2016-09-08 20:00 +0200
  [PATCH v3] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-08 22:30 +0200
    Re: [PATCH v3] genirq: Machine-parsable version of /proc/interrupts Randy Dunlap <rdunlap@infradead.org> - 2016-09-09 00:10 +0200
      Re: [PATCH v3] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-09 00:20 +0200
        Re: [PATCH v3] genirq: Machine-parsable version of  /proc/interrupts Thomas Gleixner <tglx@linutronix.de> - 2016-09-09 14:50 +0200
  [PATCH v4] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-09 18:30 +0200
    Re: [PATCH v4] genirq: Machine-parsable version of  /proc/interrupts Thomas Gleixner <tglx@linutronix.de> - 2016-09-10 01:30 +0200
    [PATCH v5] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-12 16:20 +0200
      Re: [PATCH v5] genirq: Machine-parsable version of  /proc/interrupts Thomas Gleixner <tglx@linutronix.de> - 2016-09-13 17:00 +0200
      [PATCH v6] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-13 18:20 +0200
        Re: [PATCH v6] genirq: Machine-parsable version of  /proc/interrupts Thomas Gleixner <tglx@linutronix.de> - 2016-09-14 15:40 +0200
          Re: [PATCH v6] genirq: Machine-parsable version of /proc/interrupts Craig Gallek <kraigatgoog@gmail.com> - 2016-09-14 16:00 +0200
        [tip:irq/core] genirq: Expose interrupt information through sysfs tip-bot for Craig Gallek <tipbot@zytor.com> - 2016-09-14 15:40 +0200

csiph-web