All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Daniel P. Berrange" <berrange@redhat.com>
To: Anthony Liguori <aliguori@us.ibm.com>
Cc: xen-devel@lists.xensource.com
Subject: Re: Error reporting capabilities for libxc
Date: Mon, 23 Oct 2006 21:08:42 +0100	[thread overview]
Message-ID: <20061023200842.GH25795@redhat.com> (raw)
In-Reply-To: <453D2059.5070809@us.ibm.com>

On Mon, Oct 23, 2006 at 03:04:41PM -0500, Anthony Liguori wrote:
> Daniel P. Berrange wrote:
> >I'm doing this on FC6 - the __thread annotation is the same approach
> >used in libc for the per-thread errno variable, hence why I chose it
> >try it initially. The version are:
> >
> >  glibc-2.5-3
> >  gcc-4.1.1-30
> >
> >  
> >>I've found in the past that __thread can have problems when using shared 
> >>libraries (the exact instance was a Python binding).
> >>    
> >
> >I've not explicitly tested this integrating with the python bindings
> >and ensuring the correct per-thread operation.
> >  
> 
> Will the python bindings actually load?  In the past, I've not been able 
> to import a module that contains __thread variables.

Yes, that worked just fine. I tested using xend/xm to validate the saner
error handling behaviour for invalid kernels, eg

# xm create crash
Using config file "crash".
Error: [2, 'Invalid kernel', "Kernel ELF type '3' does not match Xen type '2'"]

# xm create crash
Using config file "crash".
Error: [2, 'Invalid kernel', "Kernel ELF architecture '3' does not match Xen architecture '62' (x86_64)"]

# xm create crash
Using config file "crash".
Error: [2, 'Invalid kernel', 'Not a valid ELF or raw kernel image']

Given the notes in the GCC docs about needing support from libdl.so,
libc.so & libthread.so I suspect one of the libraries in your stack
was not fully compliant with the __thread specs.

> >One further issue I've thought of is that the __thread annotation does
> >not provide any way to do cleanup when a thread exists. Fine if the
> >per-thread variable is a simple scalar, but not so good if its a char *
> >since I think it'll leak memory. So I think I may have no choice by to
> >re-write with pthread_getspecific(), since that allows registration
> >of a cleanup function to free memory.


Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

  reply	other threads:[~2006-10-23 20:08 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-09-26 12:58 Error reporting capabilities for libxc Ian Pratt
2006-09-26 13:20 ` Daniel P. Berrange
2006-10-23 18:00 ` Daniel P. Berrange
2006-10-23 19:17   ` Anthony Liguori
2006-10-23 19:27     ` Daniel P. Berrange
2006-10-23 20:04       ` Anthony Liguori
2006-10-23 20:08         ` Daniel P. Berrange [this message]
2006-10-23 20:54       ` Ian Pratt
2006-10-23 20:57         ` Daniel P. Berrange
2006-10-23 21:10           ` Ian Pratt
2006-10-23 21:14             ` Anthony Liguori
2006-10-23 21:28               ` Daniel P. Berrange
2006-10-23 21:38                 ` Anthony Liguori
2006-10-23 21:47                   ` John Levon
2006-10-24  9:15                     ` Daniel Veillard
2006-10-23 21:48                   ` Daniel P. Berrange
2006-10-24  7:47               ` Gerd Hoffmann
2006-10-24  9:07                 ` Keir Fraser
2006-10-24 10:26                   ` Gerd Hoffmann
2006-10-23 21:21             ` Daniel P. Berrange
2006-10-23 22:15               ` Ian Pratt
2006-10-23 23:05                 ` Daniel P. Berrange
2006-10-23 20:40   ` John Levon
2006-10-23 21:04   ` John Levon
2006-10-23 21:09     ` Daniel P. Berrange
  -- strict thread matches above, loose matches on Subject: below --
2006-09-22 20:31 Daniel P. Berrange
2006-09-26 11:45 ` Stephen C. Tweedie
2006-09-26 12:28   ` Keir Fraser
2006-09-26 13:18     ` Daniel P. Berrange
2006-09-26 18:40 ` Hollis Blanchard
2006-09-26 18:49   ` Daniel P. Berrange
2006-09-26 21:37   ` Muli Ben-Yehuda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20061023200842.GH25795@redhat.com \
    --to=berrange@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.