Messages in this thread | | | Subject | Re: [PATCH 6/6] mce-inject: use injected mce only during faked handler call | From | Huang Ying <> | Date | Fri, 09 Oct 2009 17:11:24 +0800 |
| |
On Fri, 2009-10-09 at 16:31 +0800, Hidetoshi Seto wrote: > Huang Ying wrote: > > On Fri, 2009-10-09 at 15:27 +0800, Hidetoshi Seto wrote: > >> Huang Ying wrote: > >>> This is another example for you to use my idea, implement it in a > >>> similar way and send it out as your own. > >> I used "Reported-by:" for this patch, having some intent to indicate > >> that this patch uses an idea different from the original one, and that > >> this patch aims at the problem certainly reported by you. > > > > The point of the idea is to use two flags instead of one flag, not the > > name of the flag or they are inside/outside of struct mce. > > Humm, I could be wrong and could misread your comment... > > The point of my idea is to use two separated flags, "inject_flags" for > inject tool and "valid" for kernel, instead of one flag as you proposed, > "inject_flags" shared by both. > And I think the flag for kernel should be outside of struct mce. > > Once I complained about the name of flag ".finished", because you were > trying to add "LOADED" flag. I thought that "if .finished but !LOADED, it > means the loading data to struct is finished but not loaded.. ???what???"
We have full control on these flags. In my original patch, I set .finished = 0, before set MCJ_LOADED in .inject_flags. And I will not set .finished = 1, before set MCJ_LOADED in inject_flags.
> So at first I tried to add 3rd state to ".finished", but soon I agreed > that it is not good idea. > > After that I started to think about having two separated flags, and the > result is this [6/6] patch in -v2. > > In short, I believe that my idea is "use two flags" and your idea is > "share one flag" ... right?
No. There are many flags in .inject_flags (MCJ_EXCEPTION, MCJ_LOADED, etc), .finished is just another flag.
The issue of original version is that .finished is used to indicate both there is some data in injectm and injectm can be consumed. What I do is to use two flags, .finished is used to indicate injectm can be consumed, MCJ_LOADED is used to indicate there is some data in injectm. You just change the name and the place of the two flags. In [6/6], you use .finished to indicate there is some data in injectm and use mce_fake_banks.valid to indicate injectm can be consumed.
It is OK to discuss the name and places of the two flags, but you should not send out a similar patch and declare it is your idea.
> The only thing what I want to do here is merge your "fix" into upstream.
You should provide comment, instead of sending out a similar patch and declaring it is your idea.
Best Regards, Huang Ying
| |