Skip to content
  • Al Viro's avatar
    arm: optimized current_pt_regs() · bfd170d5
    Al Viro authored
    
    
    ... no need to read current_thread_info()->task only to
    feed it to task_thread_page() immediately afterwards.
    Moreover, not using current_thread_info() at all ends
    up with better assembler - we need a location very close
    to the top of kernel stack page and it's actually better
    to do or with 0x1fff, followed be subtracting a small
    constant than and with ~0x1fff, followed by adding a large
    one.  Both & and | would be a couple of insns (mvn lsr/mvn lsl
    for |, a pair of bic for &), but the following addition
    would cost a pair of add while the subtraction ends up
    as a single sub.
    
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    bfd170d5