Messages in this thread | | | Date | Fri, 15 Feb 2013 13:49:29 -0200 | From | Mauro Carvalho Chehab <> | Subject | Re: [PATCH EDAC 07/13] edac: add support for raw error reports |
| |
Em Fri, 15 Feb 2013 16:41:23 +0100 Borislav Petkov <bp@alien8.de> escreveu:
> On Fri, Feb 15, 2013 at 01:25:30PM -0200, Mauro Carvalho Chehab wrote: > > Well, for sure using an structure will help to avoid missing a > > parameter or exchanging its order. The stack usage won't reduce, > > though, because the structure will keep using the stack. > > If you allocate it on the stack of the caller, yes. If you kmalloc it, > no.
Sure, but calling kmalloc while handling a memory error doesn't seem a very good idea, IMHO. So, better to either use an already allocated space (or the stack). > > In any case, passing a pointer to struct edac_raw_error_desc only will > allow on x86_64 (and i386 AFAICT) to use only registers to pass callee > function arguments. Which is always a win. You probably need to stare at > compiler output to see what gcc actually does with -O2 optimizations.
Yes, I know, but, on the other hand, there's the additional cost of copying almost all data into the structure.
> > As I can't foresee the usage of this function call outside the core > > and by the GHES driver, I'm not sure what would be the better. > > Having an error descriptor is always better, even if it were only for > clarity's and simplicity's sake.
Yes, the code is now clearer.
Ok, I'll keep this patch on my git. I'll likely fold it with the previous one on the final patchset.
--
Cheers, Mauro
| |