On Thu, 2006-12-21 at 08:34 -0600, Seetharami Seelam wrote: > > > On 12/21/06, Ming Zhang <[EMAIL PROTECTED]> wrote: > On Thu, 2006-12-21 at 15:28 +0100, Jens Axboe wrote: > > On Thu, Dec 21 2006, Ming Zhang wrote: > > > On Thu, 2006-12-21 at 14:59 +0100, Jens Axboe wrote: > > > > On Thu, Dec 21 2006, Ming Zhang wrote: > > > > > On Thu, 2006-12-21 at 08:42 +0100, Jens Axboe wrote: > > > > > > On Wed, Dec 20 2006, Ming Zhang wrote: > > > > > > > On Wed, 2006-12-20 at 14:09 -0600, Seetharami > Seelam wrote: > > > > > > > > > > > > > > > > On 12/20/06, Ming Zhang > <[EMAIL PROTECTED]> wrote: > > > > > > > > On Wed, 2006-12-20 at 17:45 +0100, Jens > Axboe wrote: > > > > > > > > > On Wed, Dec 20 2006, Ming Zhang wrote: > > > > > > > > > > > > > > > > > > > > On Wed, 2006-12-20 at 14:02 +0100, > Jens Axboe wrote: > > > > > > > > > > > On Wed, Dec 20 2006, Jens Axboe > wrote: > > > > > > > > > > > > On Wed, Dec 20 2006, Jens Axboe > wrote: > > > > > > > > > > > > > Irk, do_pipe() needs to know > what the input is, > > > > > > > > obviously. Lemme add > > > > > > > > > > > > > that as well. > > > > > > > > > > > > > > > > > > > > > > > > This has a better chance of > working, still not tested > > > > > > > > though. If you can > > > > > > > > > > > > test, I'll commit it once we > have it working. > > > > > > > > > > > > > > > > > > > > > > It works for me, just tested it. > Patch committed. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > yes, works. thx. > > > > > > > > > > > > > > > > > > > > now the fifo will use a name pattern > like foo. but regular > > > > > > > > file will use > > > > > > > > > > foo.blktrace.X and if you give full > name, blkparse does > > > > > > > > not report any > > > > > > > > > > warning or error, just return 0 > results. this drove me > > > > > > > > nuts before i > > > > > > > > > > read the code. > > > > > > > > > > > > > > > > > > > > [ [EMAIL PROTECTED] blktrace]$ ./blkparse > a.a.blktrace.0 > > > > > > > > > > WARNING: full file name given. > Should give trace name foo, > > > > > > > > > > instead of file name > foo.blktrace.x > > > > > > > > > > > > > > > > > > Better would be to just fix it up for > the user, the current > > > > > > > > setup is a > > > > > > > > > little un-intuitive. Care to patch > that up? :-) > > > > > > > > > > > > > > > > > > > > > > > > > are these what u want? > > > > > > > > > > > > > > > > * user supplied a foo, we automatically > match it with > > > > > > > > foo.blktrace.X and > > > > > > > > open. > > > > > > > > * user supplied a foo.blktrace.X, we do > not add extra > > > > > > > > blktace.X and open > > > > > > > > it directly. > > > > > > > > > > > > > > > > then if user have foo.blktrace.0 and > foo.blktrace.1, current > > > > > > > > code works > > > > > > > > when use "-i foo". then shall we support > "-i foo.blktrace.0" > > > > > > > > and open > > > > > > > > foo.blktrace.1 automatically? > > > > > > > > > > > > > > > > > > > > > > > > Perhaps, if user explicity supplies the > name(s), you should > > > > > > > > open just that (those) file(s). May be > you should open all > > > > > > > > when the name is supplied as > foo.blktrace.* > > > > > > > > > > > > > > key point here is not the implementation > difficulty, but how we decide a > > > > > > > consistent rule. i agree with the rules u set, if > i understand > > > > > > > correctly. > > > > > > > > > > > > > > * if "-", then read from stdin; > > > > > > > * if file name is foo.blktrace.*, then we try to > open all; > > > > > > > * all other file name pattern, we open only _one_ > file with _exact_ file > > > > > > > name. > > > > > > > > > > > > > > See if others like this. > > > > > > > > > > > > I think that is the best approach, if the case where > the full name is > > > > > > given we check and warn if other CPU files are > there. It could just be a > > > > > > pilot error, and we should warn in that case. > > > > > > > > > > > > "You specified file foo.blktrace.0 and files from > other CPUs also exist. > > > > > > blkparse will only read the given file, which may > not be what you want. > > > > > > Use 'foo' as the filename to read all saved data." > > > > > > > > > > > > or something to that effect. > > > > > > > > > > ok. i will give it a try. > > > > > > > > On 2nd thought, is it _ever_ a good idea not to read all > the files? The > > > > message will whiz by and nobody will ever see it, they > will just get > > > > partial (and bad) data. So probably that case of giving > foo.blktrace.x > > > > should just work like doing foo. > > > > > > > > > > let blkparse to do all the fuzzy logic to try to open all > files, will > > > increase the code complexity and might still miss one or > two. > > > > > > we can add a name check function to check name pattern, if > can not pass > > > the check, simply not to go ahead. users would like to get > accurate data > > > by paying some attention to command input. so suggest the > rule to be > > > > > > * - as stdin > > > * foo is a fifo, then open it > > > * foo is a regular file, then open foo.blktrace.X, > > > * other print a error msg to describe this rule and stop. > > > > > > so people have a clear msg on what to do and will not get > any wrong > > > data. > > > > That's fine with me, I'm not suggesting an elaborate scheme. > I just want > > to prevent people accidentally doin foo.blktrace.0 from > missing events > > from CPUs 1...N. So: > > > > * - for stdin > > > > * 'x' is a fifo, open that. > > > > * foo and foo.blktrace.[0...N] exists, open > foo.blktrace.[0...N] > > > > Up until now, that is no change from what blkparse currently > does, I'm > > just describing it. So the new rule I'm proposing is: > > > > * foo.blktrace.0 given, and foo.blktrace.[1...N] exists, > print a warning > > and add those files. > > > > If someone really wants to use only that file (obscure case, > I cannot > > imagine a real world scenario where that is the case. The > weird HT > > experimentation case that Seelam gave is easy - just delete > the damn > > file, it wont even be valid anymore since the first file is > > overwritten), then they can use '-' as input and cat the > file. > > > > ok with the 4th rule. wait Seelam one second and see if he is > ok with > this as well. If so i will add it. > > Ming > > > I agree. The case I described happend several times to us. But, we > always solved it by deleting the un-necessary files, as Jens said.
good. so i will go ahead and add this. o, one corner case. if file foo.blktrace.0, foo.blktrace.2 exist but .1 missed for whatever reason, what we do? > > Seelam > - To unsubscribe from this list: send the line "unsubscribe linux-btrace" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
