[lkml]   [2002]   [Dec]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] Fix CPU bitmask truncation
    On Friday 20 December 2002 4:15 am, William Lee Irwin III wrote:
    > Actually, this looks like a non-issue from userspace on the IA64 boxen
    > I can get to. akpm pointed out that this seemed to pass his testing,
    > and on deeper inspection, IA64 userspace did not find this to be an issue.
    > Bjorn, could you explain on what toolchains and/or architectures you had
    > this issue? It sounds serious and/or real enough yet I can't actually
    > make this happen myself.

    This was an issue with gcc 2.96 on a 64-way IA64 box. I don't have
    access to one at the moment, but as I remember, without the 2.4 changes:

    - ((p)->cpus_runnable & (p)->cpus_allowed & (1 << cpu))
    + ((p)->cpus_runnable & (p)->cpus_allowed & (1UL << cpu))

    nothing would get scheduled on CPUs 32-63. I guess those changes
    aren't controversial, though.

    The question of whether this was strictly necessary:

    - cpus_runnable: -1, \
    - cpus_allowed: -1, \
    + cpus_runnable: ~0UL, \
    + cpus_allowed: ~0UL, \

    I don't specifically recall, and a quick test suggests that it really
    doesn't matter. Since cpus_runnable and cpus_allowed are declared
    unsigned long, I think ~0UL is a more direct expression of what is
    desired, but maybe that's just a personal preference.


    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:31    [W:0.020 / U:50.136 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site