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: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <1253258967.8439.10.camel@twins>
Date:	Fri, 18 Sep 2009 09:29:27 +0200
From:	Peter Zijlstra <peterz@...radead.org>
To:	maxime louvel <m.louvel@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: suspend a thread with an another thread

On Fri, 2009-09-18 at 08:53 +0200, maxime louvel wrote:
> HI all,
> 
> I'm doing a phd related to QoS and resources management within
> distributed systems.
> I would like to affect a CPU budget to my applications, one
> application being a thread.
> 
> As I would like to experiment quickly my ideas in order to test them,
> I wanted to use a little trick :
> instead of modifying the linux scheduler (which I guess will take me a
> lot of time because I'm not familiar with it) I tried to use a "super
> thread".

Kernel thread or userspace? I read the below as if you're meaning
user-space, since you talk about pthread stuff (at which point this
mailing list is off-topic).

> My try was that this "super thread" with higher priority is suspending
> the other threads if they overcome their cpu budget.
> I thought of something like activate an application thread, make the
> super thread sleep for X time (cpu budget) and then wake up and
> suspend the application thread until next time.
> 
> However I haven't been able to do that because I've read (and test
> myself :) ) that :
> - it is not possible to suspend a thread by an another thread (I don't
> think I can use the pthread_cond facilities)

No, pthread_cond() is for waiting for an event to occur.

> - as threads within a process share the signals and signal handlers I
> can't send a signal (like SIGUSR1 or SIGSTOP) to a specific thread.
> Correct me if I'm wrong

try: man pthread_kill

> Or should I start by looking at how to modify the linux scheduler ?

Depends on what you want to do... how hard can it be right ;-)
--
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