lkml.org 
[lkml]   [2014]   [Mar]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[patch 0/5] genirq: Sanitize irq_set_affinity callbacks
In my last tree wide sweep of irq controller related oddities I
discovered that some controllers have an broken implementation versus
selecting a single target cpu from the given cpu mask.

The core merily guarantees that at least one of the cpus in the mask
is online.

If the controller callback does not restrict the search for a single
target to the online cpus it might run into the following situation:

Assume 4 cores online: online mask = 0x0f

Offline Core 1 online mask = 0x0d

Set affinity to 0xe is valid due to online mask 0xd

cpumask_first(0xe) picks core 1, which is offline

The following series takes care of this. The patches should be tagged
stable if there are no objections.

I'm pondering to extend the core functionality to select a target cpu
before calling into irq_set_affinity() to prevent future copy and
paste failures and get rid of all the duplicated code.

Thanks,

tglx







\
 
 \ /
  Last update: 2014-03-04 22:21    [W:1.635 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site