From owner-freebsd-hackers@FreeBSD.ORG Wed Feb 17 18:09:06 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5CCE2106568B for ; Wed, 17 Feb 2010 18:09:06 +0000 (UTC) (envelope-from brampton@gmail.com) Received: from mail-fx0-f226.google.com (mail-fx0-f226.google.com [209.85.220.226]) by mx1.freebsd.org (Postfix) with ESMTP id E607A8FC20 for ; Wed, 17 Feb 2010 18:09:05 +0000 (UTC) Received: by fxm26 with SMTP id 26so7508488fxm.13 for ; Wed, 17 Feb 2010 10:09:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:date :x-google-sender-auth:message-id:subject:from:to:content-type; bh=R2rpb3f0jxq9P6AVpMh/b6mWCiyAOiBI8bOxYFwhto4=; b=uMGQwdxpXAGkJeCeWehiQ8lEkEX++YPMhHhDdO5Zxyb2xSZsKyrFtjPuJAtUG4c97h ovRqFV6zB1kRKUZYCn9v0X38/0NEHBAMk1m1ewEHLrG/wcktROuUOBPKju9R2cq8GOHL +kQHSnltgi1/D9JhVJrou7psFchT/fTkI2gKs= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; b=g57qpdqU868BCEwbEtqheUqXZKJLpaisk1QtM49qkxavQfJD696GTkim4KPa015jJF yBBt/qDwQHY1di3HSK5iAzaR30KxDd0Fncrj3/CxkYHcjdwW8SQFE891VI2HMYqFKUH/ HJwiW0ezfvHIY3zLRRAhN6z7nTOFy6PV/k2aA= MIME-Version: 1.0 Sender: brampton@gmail.com Received: by 10.223.143.21 with SMTP id s21mr3727160fau.51.1266430144783; Wed, 17 Feb 2010 10:09:04 -0800 (PST) Date: Wed, 17 Feb 2010 18:09:04 +0000 X-Google-Sender-Auth: 93b25839c5306fcf Message-ID: From: Andrew Brampton To: freebsd-hackers Content-Type: text/plain; charset=UTF-8 Subject: Per core, per device interrupt counts X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 17 Feb 2010 18:09:06 -0000 After reading though the kernel source I realise what I want isn't implemented at the moment but I wanted to discuss if this feature would be an useful addition. Basically I want to see counts of how many interrupts for a particular interrupt have fired on each core. Linux has provided this kind of information for a while and I've found it quite useful. I would like this information when I am pinning particular interrupts to one (or more cores). This is useful when I'm tweaking a system with, for example, 10Gig network cards which have multiple queues (thus multiple IRQs). Having a look in the kernel I see that the count is kept in the is_count field of the intsrc struct. This field seems to be backed by the global intrcnt array. Could this be modified to perhaps use the new PCPU macros, so there is a different count for each core? If I was given a few pointers I might find time to implement this myself. thanks Andrew