search for: ppn

Displaying 20 results from an estimated 68 matches for "ppn".

Did you mean: pfn
2014 Jun 16
4
[PATCH 10/11] qspinlock: Paravirt support
...cessor_id(); > + pn->head = INVALID_HEAD; > +} > + > +static inline struct pv_node *pv_decode_tail(u32 tail) > +{ > + return (struct pv_node *)decode_tail(tail); > +} > + > +void __pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) > +{ > + struct pv_node *ppn, *pn = (struct pv_node *)node; > + unsigned int count; > + > + if (!(old& _Q_TAIL_MASK)) { > + pn->head = NO_HEAD; > + return; > + } > + > + ppn = pv_decode_tail(old); > + ACCESS_ONCE(ppn->mcs.next) = node; > + > + while (ppn->head == INVALID_HEAD) &...
2014 Jun 16
4
[PATCH 10/11] qspinlock: Paravirt support
...cessor_id(); > + pn->head = INVALID_HEAD; > +} > + > +static inline struct pv_node *pv_decode_tail(u32 tail) > +{ > + return (struct pv_node *)decode_tail(tail); > +} > + > +void __pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) > +{ > + struct pv_node *ppn, *pn = (struct pv_node *)node; > + unsigned int count; > + > + if (!(old& _Q_TAIL_MASK)) { > + pn->head = NO_HEAD; > + return; > + } > + > + ppn = pv_decode_tail(old); > + ACCESS_ONCE(ppn->mcs.next) = node; > + > + while (ppn->head == INVALID_HEAD) &...
2015 Mar 19
0
[PATCH 8/9] qspinlock: Generic paravirt support
...* Initialize the PV part of the mcs_spinlock node. */ @@ -42,17 +48,49 @@ static void pv_init_node(struct mcs_spin pn->cpu = smp_processor_id(); pn->state = vcpu_running; + pn->head = NULL; +} + +static void pv_propagate_head(struct pv_node *pn, struct pv_node *ppn) +{ + /* + * When we race against the first waiter or ourselves we have to wait + * until the previous link updates its head pointer before we can + * propagate it. + */ + while (!READ_ONCE(ppn->head)) { + /* + * queue_spin_loc...
2015 Mar 19
0
[PATCH 8/9] qspinlock: Generic paravirt support
...* Initialize the PV part of the mcs_spinlock node. */ @@ -42,17 +48,49 @@ static void pv_init_node(struct mcs_spin pn->cpu = smp_processor_id(); pn->state = vcpu_running; + pn->head = NULL; +} + +static void pv_propagate_head(struct pv_node *pn, struct pv_node *ppn) +{ + /* + * When we race against the first waiter or ourselves we have to wait + * until the previous link updates its head pointer before we can + * propagate it. + */ + while (!READ_ONCE(ppn->head)) { + /* + * queue_spin_loc...
2006 Apr 11
1
problems with assign
...e file list, I have all the filenames. n=length(list[[1]]) for (i in 1:n){ aux <- paste("p",i,sep="") assign(aux, as.matrix(read.table(list[[1]][i]))) } R creates the matrices p1,p2,...,pn. I want to manipulate the matrices p1,...,pn and create new matrices pp1,...,ppn. The dimensions of matrices ppi must be 100x100. So, I do the following: for (i in 1:n){ aux2 <- paste("pp",i,sep="") assign(aux2, array(0,dim=c(100,100))) } My question is the following: I want to assign to the matrix ppi[1,1] the value of pi[1,1] for i=1,...,n....
2013 Jun 12
26
Interesting observation with network event notification and batching
Hi all I''m hacking on a netback trying to identify whether TLB flushes causes heavy performance penalty on Tx path. The hack is quite nasty (you would not want to know, trust me). Basically what is doesn''t is, 1) alter network protocol to pass along mfns instead of grant references, 2) when the backend sees a new mfn, map it RO and cache it in its own address space. With this
2014 Jun 15
0
[PATCH 10/11] qspinlock: Paravirt support
...*sizeof(struct mcs_spinlock)); + + pn->cpu = smp_processor_id(); + pn->head = INVALID_HEAD; +} + +static inline struct pv_node *pv_decode_tail(u32 tail) +{ + return (struct pv_node *)decode_tail(tail); +} + +void __pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) +{ + struct pv_node *ppn, *pn = (struct pv_node *)node; + unsigned int count; + + if (!(old & _Q_TAIL_MASK)) { + pn->head = NO_HEAD; + return; + } + + ppn = pv_decode_tail(old); + ACCESS_ONCE(ppn->mcs.next) = node; + + while (ppn->head == INVALID_HEAD) + cpu_relax(); + + pn->head = ppn->head; + + for...
2017 Jul 12
2
submitting R scripts with command_line_arguments to PBS HPC clusters
...ow), but ... I am getting an error message. (I am not posting the error message, because the R script I wrote works fine when it is run from a regular terminal ..) Please may I ask, how do you usually submit the R scripts with command line arguments to PBS HPC schedulers ? qsub -d $PWD -l nodes=1:ppn=4 -l vmem=10gb -m bea -M tanasa at gmail.com \ -v TUMOR="tumor.bam",GERMLINE="germline.bam",CHR="chr22" \ -e script.efile.chr22 \ -o script.ofile.chr22 \ script.R Thank you very very much ! -- bogdan [[alternative HTML version deleted]]
2015 Mar 18
2
[PATCH 8/9] qspinlock: Generic paravirt support
On 03/16/2015 09:16 AM, Peter Zijlstra wrote: > Implement simple paravirt support for the qspinlock. > > Provide a separate (second) version of the spin_lock_slowpath for > paravirt along with a special unlock path. > > The second slowpath is generated by adding a few pv hooks to the > normal slowpath, but where those will compile away for the native > case, they expand
2015 Mar 18
2
[PATCH 8/9] qspinlock: Generic paravirt support
On 03/16/2015 09:16 AM, Peter Zijlstra wrote: > Implement simple paravirt support for the qspinlock. > > Provide a separate (second) version of the spin_lock_slowpath for > paravirt along with a special unlock path. > > The second slowpath is generated by adding a few pv hooks to the > normal slowpath, but where those will compile away for the native > case, they expand
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given that all pgd allocation happens via pgd_alloc/pgd_free, why not just fold the [cd]tor in? I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and it looks to me like the easiest way to handle that is by making pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. Would need to sort out the
2007 Apr 18
2
pgd_alloc and [cd]tors
Is there any real use in having a ctor/dtor for the pgd cache? Given that all pgd allocation happens via pgd_alloc/pgd_free, why not just fold the [cd]tor in? I'm asking because Xen wants pgd[3] to be unshared in the PAE case, and it looks to me like the easiest way to handle that is by making pgd_alloc/free pv-ops and doing the appropriate thing in the Xen code. Would need to sort out the
2003 Sep 08
1
ports/55928: vmware2 broken on -STABLE, presumably by PAE import
...1 01:00:00 1970 +++ vmware2/files/pmap.patch-stable Mon Sep 8 09:17:55 2003 @@ -0,0 +1,16 @@ +--- vmmon-only/freebsd/hostif.c.orig Mon Sep 8 09:10:39 2003 ++++ vmmon-only/freebsd/hostif.c Mon Sep 8 09:11:28 2003 +@@ -181,11 +181,11 @@ + { + #define DEB(x) + caddr_t addr = (caddr_t)VPN_2_VA(ppn); +- pt_entry_t pteptr = (pt_entry_t)vtopte(addr); ++ pt_entry_t pteptr = (pt_entry_t)vtopte((unsigned long) addr); + PTE pte; + + DEB(printf("FindMPN: for page %d address %p(phys %p) pteptr %p", ppn, addr, (caddr_t)vtophys(addr), pteptr)); +- pte=*pteptr; ++ pte=*((caddr_t...
2017 Jul 12
0
submitting R scripts with command_line_arguments to PBS HPC clusters
...or message. >(I am not posting the error message, because the R script I wrote works >fine when it is run from a regular terminal ..) > >Please may I ask, how do you usually submit the R scripts with command >line >arguments to PBS HPC schedulers ? > >qsub -d $PWD -l nodes=1:ppn=4 -l vmem=10gb -m bea -M tanasa at gmail.com \ >-v TUMOR="tumor.bam",GERMLINE="germline.bam",CHR="chr22" \ >-e script.efile.chr22 \ >-o script.ofile.chr22 \ >script.R > >Thank you very very much ! > >-- bogdan > > [[alternative HTML versi...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...age being used as a page table at all levels, for PAE and non-PAE kernels. Note that in PAE mode, multiple PDP roots may exist on the same page with other data, so the root must be shadowed instead. This is not a performance issue, since PAE only uses 4 top level PDPEs. The hooks are: SetPagePTE(ppn) - indicates that a given physical page is going to be used as a page table. SetPagePDE(ppn) - indicates that a given physical page is going to be used as a page directory. ClearPageXXX(ppn) - indicates that the physical page is now done being used as a certain type of page. These hooks can be u...
2007 Apr 18
1
[PATCH 1/5] Add pagetable allocation notifiers
...age being used as a page table at all levels, for PAE and non-PAE kernels. Note that in PAE mode, multiple PDP roots may exist on the same page with other data, so the root must be shadowed instead. This is not a performance issue, since PAE only uses 4 top level PDPEs. The hooks are: SetPagePTE(ppn) - indicates that a given physical page is going to be used as a page table. SetPagePDE(ppn) - indicates that a given physical page is going to be used as a page directory. ClearPageXXX(ppn) - indicates that the physical page is now done being used as a certain type of page. These hooks can be u...
2014 Oct 16
2
[PATCH v12 09/11] pvqspinlock, x86: Add para-virtualization support
...perform para-virtualization checks for queue member + * @old : the old lock value + * @node : pointer to the mcs_spinlock structure + * Return: true if PV spinlock is enabled, false otherwise. + */ +static inline bool pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) +{ + struct pv_qnode *ppn, *pn = (struct pv_qnode *)node; + unsigned int count; + + if (!pv_enabled()) + return false; + + if (!(old & _Q_TAIL_MASK)) { + node->locked = true; /* At queue head now */ + goto ret; + } + + ppn = pv_decode_tail(old); + ACCESS_ONCE(ppn->mcs.next) = node; + + /* + * It is possible th...
2014 Oct 16
2
[PATCH v12 09/11] pvqspinlock, x86: Add para-virtualization support
...perform para-virtualization checks for queue member + * @old : the old lock value + * @node : pointer to the mcs_spinlock structure + * Return: true if PV spinlock is enabled, false otherwise. + */ +static inline bool pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) +{ + struct pv_qnode *ppn, *pn = (struct pv_qnode *)node; + unsigned int count; + + if (!pv_enabled()) + return false; + + if (!(old & _Q_TAIL_MASK)) { + node->locked = true; /* At queue head now */ + goto ret; + } + + ppn = pv_decode_tail(old); + ACCESS_ONCE(ppn->mcs.next) = node; + + /* + * It is possible th...
2017 Jul 12
1
submitting R scripts with command_line_arguments to PBS HPC clusters
...he error message, because the R script I wrote works >> fine when it is run from a regular terminal ..) >> >> Please may I ask, how do you usually submit the R scripts with command >> line >> arguments to PBS HPC schedulers ? >> >> qsub -d $PWD -l nodes=1:ppn=4 -l vmem=10gb -m bea -M tanasa at gmail.com \ >> -v TUMOR="tumor.bam",GERMLINE="germline.bam",CHR="chr22" \ >> -e script.efile.chr22 \ >> -o script.ofile.chr22 \ >> script.R >> >> Thank you very very much ! >> >> -- b...
2014 Oct 29
1
[PATCH v13 09/11] pvqspinlock, x86: Add para-virtualization support
...perform para-virtualization checks for queue member + * @old : the old lock value + * @node : pointer to the mcs_spinlock structure + * Return: true if PV spinlock is enabled, false otherwise. + */ +static inline bool pv_link_and_wait_node(u32 old, struct mcs_spinlock *node) +{ + struct pv_qnode *ppn, *pn = (struct pv_qnode *)node; + unsigned int count; + + if (!(old & _Q_TAIL_MASK)) { + node->locked = true; /* At queue head now */ + goto ret; + } + + ppn = pv_decode_tail(old); + ACCESS_ONCE(ppn->mcs.next) = node; + + /* + * It is possible that this node will become the queue head...