[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [Patch 2 of 2]: PV-domain SMP performance Linux-part


  • To: Jan Beulich <jbeulich@xxxxxxxxxx>
  • From: Juergen Gross <juergen.gross@xxxxxxxxxxxxxxxxxxx>
  • Date: Thu, 18 Dec 2008 08:18:40 +0100
  • Cc: "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Wed, 17 Dec 2008 23:19:18 -0800
  • Domainkey-signature: s=s768; d=fujitsu-siemens.com; c=nofws; q=dns; h=X-SBRSScore:X-IronPort-AV:Received:X-IronPort-AV: Received:Received:Message-ID:Date:From:Organization: User-Agent:MIME-Version:To:CC:Subject:References: In-Reply-To:X-Enigmail-Version:Content-Type: Content-Transfer-Encoding; b=x6LLlzc48xTHhz0KBXdNFpWWjy6xcAmMofswG1Kv/F9UwOYV4tn1/Lo3 CEdY/z47yVidTZ7raR01BLG01QV5xQ3KPijmNtMlb6Upz8lE+lDH43lDH TMkCxJW2tXRaMdQ;
  • List-id: Xen developer discussion <xen-devel.lists.xensource.com>

Jan Beulich wrote:
>> --- a/include/asm-x86_64/mach-xen/asm/irqflags.h     Sat Dec 13 16:00:43 
>> 2008 +0000
>> +++ b/include/asm-x86_64/mach-xen/asm/irqflags.h     Wed Dec 17 13:12:53 
>> 2008 +0100
>> @@ -33,8 +33,12 @@ do {                                                      
>>                 \
>>      vcpu_info_t *_vcpu;                                             \
>>      barrier();                                                      \
>>      _vcpu = current_vcpu_info();            \
>> -    if ((_vcpu->evtchn_upcall_mask = (x)) == 0) {                   \
>> +    if ( !(x) ) {                                                   \
> 
> This isn't correct, as it breaks 0->1 transitions (there are a few instances 
> of
> this in the kernel).

Thanks!
I will correct it.

> 
>> +            _vcpu->no_desched = 0;                                  \
>> +            _vcpu->evtchn_upcall_mask = 0;                          \
>>              barrier(); /* unmask then check (avoid races) */        \
>> +            if ( unlikely(_vcpu->desched_delay) )                   \
>> +                    (void)((HYPERVISOR_sched_op(SCHEDOP_yield, _vcpu))?:0); 
>> \
> 
> Why not just cast the function result to void? Likewise further below...

I took that from include/xen/hypercall.h, which mentioned problems with just
casting the function result.


Juergen

-- 
Juergen Gross                             Principal Developer
IP SW OS6                      Telephone: +49 (0) 89 636 47950
Fujitsu Siemens Computers         e-mail: juergen.gross@xxxxxxxxxxxxxxxxxxx
Otto-Hahn-Ring 6                Internet: www.fujitsu-siemens.com
D-81739 Muenchen         Company details: www.fujitsu-siemens.com/imprint.html

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.