lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 29 Feb 2008 12:52:20 -0800
From:	Max Krasnyanskiy <maxk@...lcomm.com>
To:	Ingo Molnar <mingo@...e.hu>
CC:	Peter Zijlstra <a.p.zijlstra@...llo.nl>,
	Thomas Gleixner <tglx@...utronix.de>,
	Oleg Nesterov <oleg@...sign.ru>,
	Steven Rostedt <rostedt@...dmis.org>,
	Paul Jackson <pj@....com>, linux-kernel@...r.kernel.org,
	David Rientjes <rientjes@...gle.com>
Subject: Re: [RFC/PATCH] cpuset: cpuset irq affinities

Ingo Molnar wrote:
> * Peter Zijlstra <a.p.zijlstra@...llo.nl> wrote:
> 
>> @@ -174,11 +174,20 @@ struct irq_desc {
>>  #ifdef CONFIG_PROC_FS
>>  	struct proc_dir_entry	*dir;
>>  #endif
>> +#ifdef CONFIG_CPUSETS
>> +	struct cpuset		*cs;
>> +#endif
> 
> i like this approach - it makes irqs more resource-alike and attaches 
> them to a specific resource control group.
> 
> So if /cgroup/boot is changed to have less CPUs then the "default" irqs 
> move along with it.
> 
> but if an isolated RT domain has specific irqs attached to it (say the 
> IRQ of some high-speed data capture device), then the irqs would move 
> together with that domain.
> 
> irqs are no longer a bolted-upon concept, but more explicitly managed.
> 
> [ If you boot-test it and if Paul agrees with the general approach then
>   i could even apply it to sched-devel.git ;-) ]

Believe it or not but I like it too :).
Now we're talking different approach compared to the cpu_isolated_map since 
with this patch cpu_system_map is no longer needed.
I've been playing with latest sched-devel tree and while I think we'll endup 
adding a lot more code, doing it with the cpuset is definitely more flexible.
This way we can provide more fine grain control of what part of the "system" 
services are allowed to run on a cpuset. Rather that "catch all" system flag.

Current sched-devel tree does not provide complete isolation at this point. 
There are still many things here and there that need to be added/fixed.
Having finer control here helps.

One concern I have is that this API conflicts with /proc/irq/X/smp_affinity.
ie Setting smp_affinity manually will override affinity set by the cpuset.
In other words I think
	int irq_set_affinity(unsigned int irq, cpumask_t cpumask)
now needs to make sure that cpumask does not have cpus that do not belong to 
the cpuset this irq belongs to. Just like sched_setaffinity() does for the tasks.

Max
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ