On Tue, 2006-01-03 at 21:07 +0000, Al Viro wrote: > Patchset annotates arch/* uses of ->thread_info. Ones that really > are about access of thread_info of given process are simply switched to > task_thread_info(task); ones that deal with access to objects on stack > are switched to new helper - task_stack_page(). A _lot_ of the latter are > actually open-coded instances of "find where pt_regs are"; those are > consolidated into task_pt_regs(task) (many architectures actually have > such helper already). > > Note that these annotations are not mandatory - any code not > converted to these helpers still works. However, they clean up a lot > of places and have actually caught a number of bugs, so converting out > of tree ports would be a good idea... > > As an example of breakage caught by that stuff, see i386 > pt_regs mess - we used to have it open-coded in a bunch of places > and when back in April Stas had fixed a bug in copy_thread(), the > rest had been left out of sync. That required two followup patches > (the latest - just before 2.6.15) _and_ still had left /proc/*/stat > eip field broken. Try ps -eo eip on i386 and watch the junk...
As long as this is just wrappering the existing pointers, then that's fine, but just in case it matters, I should point out that, at least for parisc, the wrappering is incomplete: we have references to the thread_info pointer in the task struct via our assembly glue as well (in just two places: the smp secondary CPU start and the _switch_to implementation). James - To unsubscribe from this list: send the line "unsubscribe linux-arch" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html
