From owner-freebsd-current@FreeBSD.ORG Wed Nov 7 18:57:33 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5AA1B16A421 for ; Wed, 7 Nov 2007 18:57:33 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: from web30311.mail.mud.yahoo.com (web30311.mail.mud.yahoo.com [209.191.69.73]) by mx1.freebsd.org (Postfix) with SMTP id 233AF13C4BE for ; Wed, 7 Nov 2007 18:57:33 +0000 (UTC) (envelope-from arne_woerner@yahoo.com) Received: (qmail 74525 invoked by uid 60001); 7 Nov 2007 18:57:19 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:Cc:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=P9kMud6DimvmZCTJRuEG6JrOUWLM4l5hWDY9lBbzts6QYZ00YuiFFX1cTfudq9DaM7It0RFbFeT7FKSCXQr/H2/TcoPLVBNr9PgJtEmaJbFH7t8CMSLHq5cMyzT6J6QoesiG3lKeTTD7iFN9L+1DcWWsIl0T1xTJJ6UdMRKbU6o=; X-YMail-OSG: lghsfucVM1l_zLo5MEp94hdOWc_510i8EFNZoSvfhfK2XX0ddEEGab6uH04OYqBLNtv7qlXDsxErn2XEknn8_rW9.89g0bQE6e04kLGRHAJYwu5sBpSO9MscnQ-- Received: from [84.141.120.234] by web30311.mail.mud.yahoo.com via HTTP; Wed, 07 Nov 2007 10:57:18 PST Date: Wed, 7 Nov 2007 10:57:18 -0800 (PST) From: Arne "Wörner" To: Ulf Lilleengen In-Reply-To: <20071107170941.GA21274@stud.ntnu.no> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <18792.71957.qm@web30311.mail.mud.yahoo.com> Cc: John Nielsen , freebsd-current@freebsd.org, "fluffles.net" Subject: Re: geom_raid5 inclusion in HEAD? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Nov 2007 18:57:33 -0000 --- Ulf Lilleengen wrote: > - Many style(9) issues. > Hmm... Would "cb" help? R some function too long? I tried to comply to Pawel's style, but obviously I deviated from it after some weeks... :) Could give me an example of the worst issue? > - Lack of documentation. There are many small comments, but there is little > description on top of functions describing their purpose and what they do. > This makes it hard to get into it for reviewers and other developers. > Hmm... Yup... There r interface functions to the GEOM system: ..._start(), ..._done(), ..._create(), and so on... Then there r 2 worker threads (one for the graid5 start queue (...worker()) and one for the graid5 done queue (...workerD()). The other functions r helper functions... I could add the function-purpose-comment in PP and then try to merge it to TNG and TOS... > - As to the code logic itself I was a bit sceptic about having the malloc > saving > queue. Does it really improve performance that much? It's just the sort of > thing that could easily lead to bugs. > Hmm... if I understood correctly, FreeBSD's kernel memory suffers under fragmentation, if many big mem areas r needed... There might be even a dead lock, if UFS uses 64kb block size... So I thought it would be a good idea to avoid those sleeps but "hamster-ing" the big chunks... :) But I am not sure anymore, that it improved performance (but performance was the reason for it)... > - I also wonder a bit why you use two worker threads, as this also increases > complexity (but again, does it improve performance to the point that it's > worth it?). > Hmm... I think so... At least on MP boxes, since both threads do some XOR-ing (worker() uses XOR for writing "full-stripes" (where no read is necessary) and bcopy; and workerD() uses XOR after the old data/parity has been read)... > And last but not least: All of this have to be reviewed before going into the > tree, and there are not many people who can do that right now. However, I > really like your work and would gladly help improving it. > OK... review sounds good... maybe we should concentrate on PP then (it is quite space (in comparison to TNG but not TOS)+time (in comparison to TOS; maybe in comparison to TNG, too?) efficient and has a read cache)? Although fluffles favors TNG, although it is quite nasty (a write request of size 4KB costs 3 full stripes ((-1)*) plus 2*128KB... *giggle*)... -Arne __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com