lkml.org 
[lkml]   [2012]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH] slab/mempolicy: always use local policy from interrupt context v3
    From
    On Thu, May 31, 2012 at 11:45 PM, David Rientjes <rientjes@google.com> wrote:
    > On Wed, 30 May 2012, Andi Kleen wrote:
    >
    >> diff --git a/mm/mempolicy.c b/mm/mempolicy.c
    >> index cfb6c86..b65eb06 100644
    >> --- a/mm/mempolicy.c
    >> +++ b/mm/mempolicy.c
    >> @@ -1586,9 +1586,11 @@ static unsigned interleave_nodes(struct mempolicy *policy)
    >>   * task can change it's policy.  The system default policy requires no
    >>   * such protection.
    >>   */
    >> -unsigned slab_node(struct mempolicy *policy)
    >> +unsigned slab_node(void)
    >>  {
    >> -     if (!policy || policy->flags & MPOL_F_LOCAL)
    >> +     struct mempolicy *policy = current->mempolicy;
    >> +
    >> +     if (in_interrupt() || !policy || policy->flags & MPOL_F_LOCAL)
    >>               return numa_node_id();
    >>
    >>       switch (policy->mode) {
    >
    > I think the version proposed by David Mackey is more clear, it makes it
    > obvious that we don't want to dereference current in interrupt context
    > whereas that relies on short-circuiting your conditional in your approach.

    I like it better also. Christoph, Andi?
    --
    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: 2012-06-01 09:01    [W:0.023 / U:2.780 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site