lkml.org 
[lkml]   [2005]   [Jun]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH] Move some more structures into "mostly_readonly"
    On Tue, 7 Jun 2005, Brian Gerst wrote:

    > It doesn't really matter. .rodata isn't actually mapped read-only. Doing so
    > would break up the large pages used to map the kernel.

    In that case.... here is a patch that moves the table into rodata.

    Subject: Move some more structures into "mostly_readonly" and readonly

    ---

    Move syscall timer_hpet and the boot_cpu_data into the "mostly_readonly"
    section. And move the syscall table to readonly

    Signed-off-by: Alok N Kataria <alokk@calsoftinc.com>
    Signed-off-by: Shai Fultheim <shai@scalex86.org>
    Signed-off-by: Christoph Lameter <christoph@scalex86.org>

    Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/entry.S
    ===================================================================
    --- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/entry.S 2005-06-07 15:17:15.000000000 -0700
    +++ linux-2.6.12-rc6-mm1/arch/i386/kernel/entry.S 2005-06-07 15:18:20.000000000 -0700
    @@ -680,6 +680,8 @@ ENTRY(spurious_interrupt_bug)
    pushl $do_spurious_interrupt_bug
    jmp error_code

    +.section .ro_data,"a"
    #include "syscall_table.S"

    syscall_table_size=(.-sys_call_table)
    +.previous
    Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/setup.c
    ===================================================================
    --- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/setup.c 2005-06-07 15:17:15.000000000 -0700
    +++ linux-2.6.12-rc6-mm1/arch/i386/kernel/setup.c 2005-06-07 15:18:51.000000000 -0700
    @@ -82,7 +82,8 @@ EXPORT_SYMBOL(efi_enabled);
    /* cpu data as detected by the assembly code in head.S */
    struct cpuinfo_x86 new_cpu_data __initdata = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
    /* common cpu data for all cpus */
    -struct cpuinfo_x86 boot_cpu_data = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
    +struct cpuinfo_x86 boot_cpu_data __cacheline_aligned_mostly_readonly
    + = { 0, 0, 0, 0, -1, 1, 0, 0, -1 };
    EXPORT_SYMBOL(boot_cpu_data);

    unsigned long mmu_cr4_features;
    Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/syscall_table.S
    ===================================================================
    --- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/syscall_table.S 2005-06-07 15:17:15.000000000 -0700
    +++ linux-2.6.12-rc6-mm1/arch/i386/kernel/syscall_table.S 2005-06-07 15:18:20.000000000 -0700
    @@ -1,4 +1,3 @@
    -.data
    ENTRY(sys_call_table)
    .long sys_restart_syscall /* 0 - old "setup()" system call, used for restarting */
    .long sys_exit
    Index: linux-2.6.12-rc6-mm1/arch/i386/kernel/timers/timer_hpet.c
    ===================================================================
    --- linux-2.6.12-rc6-mm1.orig/arch/i386/kernel/timers/timer_hpet.c 2005-06-07 15:17:15.000000000 -0700
    +++ linux-2.6.12-rc6-mm1/arch/i386/kernel/timers/timer_hpet.c 2005-06-07 15:18:20.000000000 -0700
    @@ -180,7 +180,7 @@ static int __init init_hpet(char* overri
    /************************************************************/

    /* tsc timer_opts struct */
    -static struct timer_opts timer_hpet = {
    +static struct timer_opts timer_hpet __cacheline_aligned_mostly_readonly = {
    .name = "hpet",
    .mark_offset = mark_offset_hpet,
    .get_offset = get_offset_hpet,
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/
    \
     
     \ /
      Last update: 2005-06-08 00:28    [W:0.027 / U:4.564 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site