Re: ioctl get_info: Bad address
Brought to you by:
aeb,
bencollins
From: Carl K. <ca...@pe...> - 2011-08-10 17:36:57
|
On Wed, Aug 10, 2011 at 12:05 PM, Clemens Ladisch <cl...@la...> wrote: > Stefan Richter wrote: >> On Aug 10 Clemens Ladisch wrote: >> > So I'd guess the actual cost (.code section) is not nearly that high. >> >> FWIW, this is from one of the six u64_to_uptr call sites, >> ioctl_get_info(): >> ... >> mov %eax, %r13d # D.30771, D.30771 >> movq %gs:kernel_stack,%rdx #, pfo_ret__ >> testb $2, -8132(%rdx) #, <variable>.status >> cmove %rax, %r13 # D.30771,, D.30771, D.33010 > > Bah, the bytes of these few commands are not worth counting. :-) > >> And this appear to be the two uptr_to_u64 call sites: ... > > Where current_thread_info() was _already_ being used. > >> > > Is it worthwhile? > > Definitely. > > > Carl, if you're still reading this: Stefan's kernel patch will fix your > problem, but you could just as well replace (u64)&something with > (unsigned long)&something in async-test.c. > This one, right? 313 get_info.bus_reset = (u64)&bus_reset; -- Carl K |