From: Carsten Otte <cotte@de.ibm.com>
To: "Zhang, Xiantao" <xiantao.zhang@intel.com>
Cc: Avi Kivity <avi@qumranet.com>, "Luck, Tony" <tony.luck@intel.com>,
"Xu, Anthony" <anthony.xu@intel.com>, Jes Sorensen <jes@sgi.com>,
Akio Takebe <takebe_akio@jp.fujitsu.com>,
kvm-devel@lists.sourceforge.net,
kvm-ia64-devel@lists.sourceforge.net, linux-ia64@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [01/17]PATCH Add API for allocating dynamic TR resouce. V8
Date: Mon, 31 Mar 2008 13:41:41 +0000 [thread overview]
Message-ID: <47F0EA15.9030408@de.ibm.com> (raw)
In-Reply-To: <42DFA526FC41B1429CE7279EF83C6BDC0104823F@pdsmsx415.ccr.corp.intel.com>
Zhang, Xiantao wrote:
> +/* mca_insert_tr
> + *
> + * Switch rid when TR reload and needed!
> + * iord: 1: itr, 2: itr;
> + *
> +*/
> +static void mca_insert_tr(u64 iord)
> +{
> +
> + int i;
> + u64 old_rr;
> + struct ia64_tr_entry *p;
> + unsigned long psr;
> + int cpu = smp_processor_id();
What if CONFIG_PREEMPT is on, and we're being preempted and scheduled
to a different CPU here? Are we running preempt disabled here? If so,
the function header should state that this function needs to be called
preempt_disabled.
> +/*
> + * ia64_insert_tr in virtual mode. Allocate a TR slot
> + *
> + * target_mask : 0x1 : itr, 0x2 : dtr, 0x3 : idtr
> + *
> + * va : virtual address.
> + * pte : pte entries inserted.
> + * log_size: range to be covered.
> + *
> + * Return value: <0 : error No.
> + *
> + * >=0 : slot number allocated for TR.
> + */
> +int ia64_itr_entry(u64 target_mask, u64 va, u64 pte, u64 log_size)
> +{
> + int i, r;
> + unsigned long psr;
> + struct ia64_tr_entry *p;
> + int cpu = smp_processor_id();
Same here.
> +/*
> + * ia64_purge_tr
> + *
> + * target_mask: 0x1: purge itr, 0x2 : purge dtr, 0x3 purge idtr.
> + *
> + * slot: slot number to be freed.
> + */
> +void ia64_ptr_entry(u64 target_mask, int slot)
> +{
> + int cpu = smp_processor_id();
> + int i;
> + struct ia64_tr_entry *p;
Here again.
WARNING: multiple messages have this Message-ID (diff)
From: Carsten Otte <cotte@de.ibm.com>
To: "Zhang, Xiantao" <xiantao.zhang@intel.com>
Cc: Avi Kivity <avi@qumranet.com>, "Luck, Tony" <tony.luck@intel.com>,
"Xu, Anthony" <anthony.xu@intel.com>, Jes Sorensen <jes@sgi.com>,
Akio Takebe <takebe_akio@jp.fujitsu.com>,
kvm-devel@lists.sourceforge.net,
kvm-ia64-devel@lists.sourceforge.net, linux-ia64@vger.kernel.org,
virtualization@lists.linux-foundation.org
Subject: Re: [01/17]PATCH Add API for allocating dynamic TR resouce. V8
Date: Mon, 31 Mar 2008 15:41:41 +0200 [thread overview]
Message-ID: <47F0EA15.9030408@de.ibm.com> (raw)
In-Reply-To: <42DFA526FC41B1429CE7279EF83C6BDC0104823F@pdsmsx415.ccr.corp.intel.com>
Zhang, Xiantao wrote:
> +/* mca_insert_tr
> + *
> + * Switch rid when TR reload and needed!
> + * iord: 1: itr, 2: itr;
> + *
> +*/
> +static void mca_insert_tr(u64 iord)
> +{
> +
> + int i;
> + u64 old_rr;
> + struct ia64_tr_entry *p;
> + unsigned long psr;
> + int cpu = smp_processor_id();
What if CONFIG_PREEMPT is on, and we're being preempted and scheduled
to a different CPU here? Are we running preempt disabled here? If so,
the function header should state that this function needs to be called
preempt_disabled.
> +/*
> + * ia64_insert_tr in virtual mode. Allocate a TR slot
> + *
> + * target_mask : 0x1 : itr, 0x2 : dtr, 0x3 : idtr
> + *
> + * va : virtual address.
> + * pte : pte entries inserted.
> + * log_size: range to be covered.
> + *
> + * Return value: <0 : error No.
> + *
> + * >=0 : slot number allocated for TR.
> + */
> +int ia64_itr_entry(u64 target_mask, u64 va, u64 pte, u64 log_size)
> +{
> + int i, r;
> + unsigned long psr;
> + struct ia64_tr_entry *p;
> + int cpu = smp_processor_id();
Same here.
> +/*
> + * ia64_purge_tr
> + *
> + * target_mask: 0x1: purge itr, 0x2 : purge dtr, 0x3 purge idtr.
> + *
> + * slot: slot number to be freed.
> + */
> +void ia64_ptr_entry(u64 target_mask, int slot)
> +{
> + int cpu = smp_processor_id();
> + int i;
> + struct ia64_tr_entry *p;
Here again.
next prev parent reply other threads:[~2008-03-31 13:41 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-28 9:58 [01/17]PATCH Add API for allocating dynamic TR resouce Zhang, Xiantao
2008-03-28 9:58 ` Zhang, Xiantao
2008-03-29 2:48 ` [01/17]PATCH Add API for allocating dynamic TR resouce. V7 Zhang, Xiantao
2008-03-31 8:24 ` [01/17]PATCH Add API for allocating dynamic TR resouce. V8 Zhang, Xiantao
2008-03-31 9:03 ` Jes Sorensen
2008-03-31 9:03 ` Jes Sorensen
2008-03-31 9:53 ` Zhang, Xiantao
2008-03-31 9:53 ` Zhang, Xiantao
2008-03-31 9:03 ` Jes Sorensen
2008-03-31 13:41 ` Carsten Otte [this message]
2008-03-31 13:41 ` Carsten Otte
2008-04-01 1:00 ` Zhang, Xiantao
2008-04-01 1:00 ` Zhang, Xiantao
2008-04-01 7:48 ` Carsten Otte
2008-04-01 7:48 ` Carsten Otte
2008-04-01 7:48 ` Carsten Otte
2008-03-31 13:41 ` Carsten Otte
-- strict thread matches above, loose matches on Subject: below --
2008-03-31 8:24 Zhang, Xiantao
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=47F0EA15.9030408@de.ibm.com \
--to=cotte@de.ibm.com \
--cc=anthony.xu@intel.com \
--cc=avi@qumranet.com \
--cc=jes@sgi.com \
--cc=kvm-devel@lists.sourceforge.net \
--cc=kvm-ia64-devel@lists.sourceforge.net \
--cc=linux-ia64@vger.kernel.org \
--cc=takebe_akio@jp.fujitsu.com \
--cc=tony.luck@intel.com \
--cc=virtualization@lists.linux-foundation.org \
--cc=xiantao.zhang@intel.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.