From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27463 invoked by alias); 14 Dec 2011 09:43:10 -0000 Received: (qmail 27295 invoked by uid 22791); 14 Dec 2011 09:43:08 -0000 X-SWARE-Spam-Status: No, hits=-5.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_HELO_PASS X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 14 Dec 2011 09:42:47 +0000 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id pBE9gkuL018264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 14 Dec 2011 04:42:47 -0500 Received: from springer.wildebeest.org (ovpn-116-47.ams2.redhat.com [10.36.116.47]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id pBE9gj0R026723 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 14 Dec 2011 04:42:46 -0500 Received: by springer.wildebeest.org (Postfix, from userid 500) id E8E2540AE4; Wed, 14 Dec 2011 10:42:44 +0100 (CET) Subject: Re: [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.6-594-g12aa5f9 From: Mark Wielaard To: systemtap@sourceware.org Cc: Frank Eigler In-Reply-To: <20111213223224.10508.qmail@sourceware.org> References: <20111213223224.10508.qmail@sourceware.org> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Date: Wed, 14 Dec 2011 11:24:00 -0000 Message-ID: <1323855764.3567.5.camel@springer.wildebeest.org> Mime-Version: 1.0 Mailing-List: contact systemtap-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: systemtap-owner@sourceware.org X-SW-Source: 2011-q4/txt/msg00354.txt.bz2 On Tue, 2011-12-13 at 22:32 +0000, fche@sourceware.org wrote: > This is an automated email from the git hooks/post-receive script. It was > generated because a ref change was pushed to the repository containing > the project "systemtap: system-wide probe/trace tool". > > commit 12aa5f9c1d9ac3dc7003f9c0e0b8e34c23d67407 > Author: Frank Ch. Eigler > Date: Tue Dec 13 17:27:38 2011 -0500 >=20 > PR13489/PR11671: more lockdep antihistamines >=20=20=20=20=20 > * runtime/task_finder_vma.c (__stp_tf_vma_new_entry): Use > STP_ALLOC_FLAGS for new vma entry memory allocation needs. >=20 > diff --git a/runtime/task_finder_vma.c b/runtime/task_finder_vma.c > index 90a34ba..093d307 100644 > --- a/runtime/task_finder_vma.c > +++ b/runtime/task_finder_vma.c > @@ -44,6 +44,8 @@ static struct hlist_head *__stp_tf_vma_map; >=20=20 > // __stp_tf_vma_new_entry(): Returns an newly allocated or NULL. > // Must only be called from user context. > +// ... except, with inode-uprobes / task-finder2, it can be called from > +// random tracepoints. So we cannot sleep after all. > static struct __stp_tf_vma_entry * > __stp_tf_vma_new_entry(void) > { > @@ -51,7 +53,7 @@ __stp_tf_vma_new_entry(void) > size_t size =3D sizeof (struct __stp_tf_vma_entry); >=20=20 > entry =3D (struct __stp_tf_vma_entry *) _stp_kmalloc_gfp(size, > - STP_ALLOC_SLEEP_F= LAGS); > + STP_ALLOC= _FLAGS); > return entry; > } Urgh that hurts. Especially on memory constraint systems having to do non-sleeping allocations. Isn't there any way we can prevent this? Or at least detect that we are using a task_finder that doesn't notify us in user context? I think there are other places that assume the task_finder only notifies us about updates in user context, for example so we can check the build-id. Having a taks_finder that only operates in atomic contexts is pretty limiting. Cheers, Mark