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] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070131175118.GN1344@kvack.org>
Date:	Wed, 31 Jan 2007 12:51:18 -0500
From:	Benjamin LaHaise <bcrl@...ck.org>
To:	Zach Brown <zach.brown@...cle.com>
Cc:	Benjamin Herrenschmidt <benh@...nel.crashing.org>,
	linux-kernel@...r.kernel.org, linux-aio@...ck.org,
	Suparna Bhattacharya <suparna@...ibm.com>,
	Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 0 of 4] Generic AIO by scheduling stacks

On Wed, Jan 31, 2007 at 09:38:11AM -0800, Zach Brown wrote:
> Indeed, that was my first reaction too.  I dismissed the idea for a  
> good six months after initially realizing that it implied sharing  
> journal_info, etc.
> 
> But when I finally sat down and started digging through the  
> task_struct members and, after quickly dismissing involuntary  
> preemption of the fibrils, it didn't seem so bad.  I haven't done an  
> exhaustive audit yet (and I won't advocate merging until I have) but  
> I haven't seen any train wrecks.

I'm still of the opinion that you cannot do this without creating actual 
threads.  That said, there is room for setting up the task_struct beforehand 
without linking it into the system lists.  The reason I don't think this 
approach works (and I looked at it a few times) is that many things end 
up requiring special handling: things like permissions, signals, FPU state, 
segment registers....  The list ends up looking exactly the way task_struct 
is, making the actual savings very small.

What the fibrils approach is useful for is the launching of the thread 
initially, as you don't have to retain things like the current FPU state, 
change segment registers, etc.  Changing the stack is cheap, the rest of 
the work is not.

		-ben
-- 
"Time is of no importance, Mr. President, only life is important."
Don't Email: <dont@...ck.org>.
-
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