From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754480Ab0IHNyL (ORCPT ); Wed, 8 Sep 2010 09:54:11 -0400 Received: from mail-wy0-f174.google.com ([74.125.82.174]:35231 "EHLO mail-wy0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752933Ab0IHNyJ (ORCPT ); Wed, 8 Sep 2010 09:54:09 -0400 From: fabio de francesco Organization: metanix.org To: "chxanders@gmail.com" , LKML Subject: Re: linux/kernel/sched.c: context_switch(). Date: Wed, 8 Sep 2010 15:54:07 +0200 User-Agent: KMail/1.13.5 (Linux/2.6.35-tuxonice-r1-100826; KDE/4.4.5; x86_64; ; ) References: <201009081508.30490.fabio@metanix.org> <201009081518.21569.fabio@metanix.org> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201009081554.08676.fabio@metanix.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wednesday 08 September 2010 15:22:07 you wrote: > but there is a ! not operator, !mm means mm != 0 , or the other way it > is saying it is unlikey(mm is NULL) Ok. Let me point to Linux-2.6.32. You may see that there the opposite is written. Can you please explain why they changed unlikely with likely passing from 2.6.32 to 2.6.33? > On 8 September 2010 20:18, fabio de francesco wrote: > > On Wednesday 08 September 2010 15:10:49 you wrote: > >> Long day? Do you mean likely(!mm) actually means unlikely(0)? > > > > No, no. I am sorry for my poor English. I mean:"likely(!mm) is like > > "likely(0)". > > > >> On 8 September 2010 20:08, fabio de francesco wrote: > >> > There must be something I am missing in sched.c at context_switch() > >> > function definition. > >> > > >> > There I can read the following code: > >> > > >> > static inline void > >> > context_switch(struct rq *rq, struct task_struct *prev, > >> > struct task_struct *next) > >> > { > >> > ... > >> > struct mm_struct *mm; > >> > mm = next->mm; > >> > if (likely(!mm)) { > >> > next->active_mm = oldmm; > >> > atomic_inc(&oldmm->mm_count); > >> > enter_lazy_tlb(oldmm, next); > >> > } else > >> > switch_mm(oldmm, mm, next); > >> > ... > >> > } > >> > > >> > May someone please explain why the mm pointer is likely supposed to be > >> > NULL? > >> > > >> > Thanks in advance. > >> > > >> > fabio > >> > -- > >> > 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/