On Wed, 06 Jul 2016 17:26:08 +0800
"Hillf Danton" wrote:
> >
> > You are still a bit cryptic,
> >
> Sorry, Sir, simply because I'm not native English speaker.
>
> > are you trying to tell me that your hint is
> > about trying to avoid the preempt_enable() call?
> >
On Wed, 06 Jul 2016 17:26:08 +0800
"Hillf Danton" wrote:
> >
> > You are still a bit cryptic,
> >
> Sorry, Sir, simply because I'm not native English speaker.
>
> > are you trying to tell me that your hint is
> > about trying to avoid the preempt_enable() call?
> >
> Yes, since we are
>
> You are still a bit cryptic,
>
Sorry, Sir, simply because I'm not native English speaker.
> are you trying to tell me that your hint is
> about trying to avoid the preempt_enable() call?
>
Yes, since we are already in the context with page table lock held.
thanks
Hillf
>
> You are still a bit cryptic,
>
Sorry, Sir, simply because I'm not native English speaker.
> are you trying to tell me that your hint is
> about trying to avoid the preempt_enable() call?
>
Yes, since we are already in the context with page table lock held.
thanks
Hillf
On Wed, 06 Jul 2016 14:42:16 +0800
"Hillf Danton" wrote:
> > > >
> > > > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > > > + unsigned long end, pte_t *ptep)
> > > > +{
> > > > + unsigned long nr;
> > > > +
> >
On Wed, 06 Jul 2016 14:42:16 +0800
"Hillf Danton" wrote:
> > > >
> > > > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > > > + unsigned long end, pte_t *ptep)
> > > > +{
> > > > + unsigned long nr;
> > > > +
> > > > + if
> > >
> > > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > > +unsigned long end, pte_t *ptep)
> > > +{
> > > + unsigned long nr;
> > > +
> > > + if (!MACHINE_HAS_IPTE_RANGE || mm_has_pgste(mm))
> > > + return;
> > > + preempt_disable();
> > >
> > >
> > > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > > +unsigned long end, pte_t *ptep)
> > > +{
> > > + unsigned long nr;
> > > +
> > > + if (!MACHINE_HAS_IPTE_RANGE || mm_has_pgste(mm))
> > > + return;
> > > + preempt_disable();
> > >
On Wed, 06 Jul 2016 12:03:28 +0800
"Hillf Danton" wrote:
> >
> > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > + unsigned long end, pte_t *ptep)
> > +{
> > + unsigned long nr;
> > +
> > + if (!MACHINE_HAS_IPTE_RANGE
On Wed, 06 Jul 2016 12:03:28 +0800
"Hillf Danton" wrote:
> >
> > +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> > + unsigned long end, pte_t *ptep)
> > +{
> > + unsigned long nr;
> > +
> > + if (!MACHINE_HAS_IPTE_RANGE || mm_has_pgste(mm))
> >
>
> +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> +unsigned long end, pte_t *ptep)
> +{
> + unsigned long nr;
> +
> + if (!MACHINE_HAS_IPTE_RANGE || mm_has_pgste(mm))
> + return;
> + preempt_disable();
> + nr = (end -
>
> +void ptep_invalidate_range(struct mm_struct *mm, unsigned long start,
> +unsigned long end, pte_t *ptep)
> +{
> + unsigned long nr;
> +
> + if (!MACHINE_HAS_IPTE_RANGE || mm_has_pgste(mm))
> + return;
> + preempt_disable();
> + nr = (end -
12 matches
Mail list logo