All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien.grall@citrix.com>
To: Vijay Kilari <vijay.kilari@gmail.com>,
	Julien Grall <julien.grall@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	Prasun Kapoor <Prasun.Kapoor@caviumnetworks.com>,
	Vijaya Kumar K <vijaya.kumar@caviumnetworks.com>,
	Julien Grall <julien.grall@linaro.org>, Tim Deegan <tim@xen.org>,
	"xen-devel@lists.xen.org" <xen-devel@lists.xen.org>,
	Stefano Stabellini <stefano.stabellini@citrix.com>,
	manish.jaggi@caviumnetworks.com
Subject: Re: [RFC PATCH v2 09/22] xen/arm: its: Add helper functions to decode ITS Command
Date: Mon, 11 May 2015 23:06:34 +0100	[thread overview]
Message-ID: <555127EA.30707@citrix.com> (raw)
In-Reply-To: <CALicx6tcRq_bot2Y2pPEummKm=EOLUN8FeMN1ZWZjfvYXYKTEw@mail.gmail.com>

Hi,

On 11/05/2015 15:36, Vijay Kilari wrote:
> On Mon, May 11, 2015 at 7:55 PM, Julien Grall <julien.grall@citrix.com> wrote:
>> On 11/05/15 15:25, Julien Grall wrote:
>>> Hi Vijay,
>>>
>>> On 11/05/15 15:14, Vijay Kilari wrote:
>>>> On Wed, Apr 1, 2015 at 5:10 PM, Ian Campbell <ian.campbell@citrix.com> wrote:
>>>>> On Thu, 2015-03-19 at 20:07 +0530, vijay.kilari@gmail.com wrote:
>>>>>> From: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com>
>>>>>>
>>>>>> Add helper functions to decode ITS command
>>>>>> This will be useful for Virtual ITS driver
>>>>>
>>>>> It depends slightly on the answer to the quesiton I asked on patch #6,
>>>>> but in general in Xen we have preferred to define a structure/union
>>>>> overlaying the processor's view of such things and to use access to
>>>>> those fields, see e.g. the hsr decode or the pte stuff.
>>>>
>>>>     This make heavy and simple changes. I prefer to make it a separate
>>>> patch series.
>>>
>>> We are at early stage of the review process, it's the second version and
>>> the design is not yet set in stone. So it's normal to have heavy changes
>>> in the code between 2 versions.
>>>
>>> Although, when you say heavy, it's compare to what? The GICv3 ITS driver?
>>
>> * from Linux?
>
> Yes.

I'm joining Ian's concern on a previous mail [1]. The diff between the 
Linux driver and the Xen driver is very huge. Removing unnecessary code, 
moving code in another file... doesn't help for porting fixes for Linux. 
How would you know if you remove/move the function for good reasons? 
What would you do if you have to bring back a function?

Your previous mail saying "This make heavy and simple changes. I prefer 
to make it a separate patch series." achieved to convince me that you 
don't use the GICv3 ITS driver from Linux for helping backporting fixes 
later (even you if you stated the invert on multiple mails [2], [3]...).

To help backporting, the driver needs to have very small changes. 
Removing/moving code is even too much, the resulting patch won't be 
similar to the Linux one and it will be harder to know whether it's 
valid or not.

When I worked on the SMMU drivers last year, I choose to differ from 
Linux because the page table wasn't shared. The base was from Linux but 
heavily change. The code went in, but few months after we notice it was 
hard to maintain and the API is fairly similar to Linux. So we decided 
to get a driver very close to Linux.

Now for the GICv3 ITS driver... the final design of the ITS in Xen will 
be very different to the Linux one:
	- Command are generated by the vITS and not the ITS driver
         - The Linux ITS is waiting the completion of each command 
before continuing while it's not possible for Xen
         - and so on...

TBH, with these reasons, I don't see how it will be possible to keep the 
Xen drivers synced...

If your driver is not sync to the latest version of Linux (which I guess 
it is). Give a try to take the patches and backport one by one on the 
top of your series. You will be able to see how difficult it is to 
backport on a diverging driver.

Regards,


[1] 
http://lists.xenproject.org/archives/html/xen-devel/2015-04/msg00235.html

[2] 
http://lists.xenproject.org/archives/html/xen-devel/2015-04/msg00201.html

[3] 
http://lists.xenproject.org/archives/html/xen-devel/2015-04/msg00246.html



> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>

-- 
Julien Grall

  reply	other threads:[~2015-05-11 22:06 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-19 14:37 [RFC PATCH v2 00/22] xen/arm: Add ITS support vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 01/22] add linked list apis vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 02/22] Use linked list accessors for page_list helper function vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 03/22] xen/arm: Add bitmap_find_next_zero_area " vijay.kilari
2015-03-20 13:35   ` Julien Grall
2015-03-19 14:37 ` [RFC PATCH v2 04/22] xen/arm: its: Import GICv3 ITS driver from linux vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 05/22] xen/arm: gicv3: Refactor redistributor information vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 06/22] xen/arm: its: Port ITS driver to xen vijay.kilari
2015-03-20 15:06   ` Julien Grall
2015-03-23 12:24     ` Vijay Kilari
2015-03-23 13:27       ` Julien Grall
2015-04-01 11:34   ` Ian Campbell
2015-04-02  8:25     ` Vijay Kilari
2015-04-02  9:25       ` Ian Campbell
2015-04-02 10:05         ` Vijay Kilari
2015-04-02 13:57       ` Julien Grall
2015-03-19 14:37 ` [RFC PATCH v2 07/22] xen/arm: its: Move ITS command encode helper functions vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 08/22] xen/arm: its: Remove unused code in ITS driver vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 09/22] xen/arm: its: Add helper functions to decode ITS Command vijay.kilari
2015-04-01 11:40   ` Ian Campbell
2015-05-11 14:14     ` Vijay Kilari
2015-05-11 14:25       ` Julien Grall
2015-05-11 14:25         ` Julien Grall
2015-05-11 14:36           ` Vijay Kilari
2015-05-11 22:06             ` Julien Grall [this message]
2015-03-19 14:37 ` [RFC PATCH v2 10/22] xen/arm: Add helper function to get domain page vijay.kilari
2015-03-20 16:39   ` Julien Grall
2015-03-19 14:37 ` [RFC PATCH v2 11/22] xen/arm: its: Move its_device structure to header file vijay.kilari
2015-03-19 14:37 ` [RFC PATCH v2 12/22] xen/arm: its: Update irq descriptor for LPIs support vijay.kilari
2015-03-20 16:44   ` Julien Grall
2015-03-30 14:32     ` Vijay Kilari
2015-03-30 15:29       ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 13/22] xen/arm: its: Add virtual ITS command support vijay.kilari
2015-03-21  0:28   ` Julien Grall
2015-03-23 15:52   ` Julien Grall
2015-03-24 11:48   ` Julien Grall
2015-03-30 15:02     ` Vijay Kilari
2015-03-30 15:47       ` Julien Grall
2015-04-01 11:46         ` Ian Campbell
2015-04-01 12:02           ` Julien Grall
2015-04-02  9:13             ` Ian Campbell
2015-04-02 11:06               ` Julien Grall
2015-04-02 11:18                 ` Ian Campbell
2015-04-02 13:47                   ` Julien Grall
2015-04-28  9:28                     ` Vijay Kilari
2015-04-28  9:56                       ` Stefano Stabellini
2015-04-28 10:35                         ` Julien Grall
2015-04-28 11:36                           ` Vijay Kilari
2015-04-28 16:15                             ` Julien Grall
2015-04-29  1:44                               ` Vijay Kilari
2015-04-29 11:56                                 ` Julien Grall
2015-04-29 12:12                                   ` Manish Jaggi
2015-04-29 12:21                                     ` Julien Grall
2015-04-29 12:33                                       ` Manish Jaggi
2015-04-29 13:01                                         ` Julien Grall
2015-04-29 13:08                                           ` Manish Jaggi
2015-04-29 13:16                                             ` Julien Grall
2015-04-29 13:35                                   ` Julien Grall
2015-04-29 16:26                                     ` Vijay Kilari
2015-04-29 16:30                                       ` Vijay Kilari
2015-04-29 18:04                                         ` Julien Grall
2015-04-30 10:02                                           ` Stefano Stabellini
2015-04-30 10:09                                             ` Julien Grall
2015-04-30 10:15                                               ` Stefano Stabellini
2015-04-30 10:20                                                 ` Julien Grall
2015-04-30 10:50                                                   ` Stefano Stabellini
2015-04-30 13:19                                                 ` Vijay Kilari
2015-04-30 13:47                                                   ` Stefano Stabellini
2015-04-30 14:29                                                     ` Julien Grall
2015-05-04 12:58                                                       ` Vijay Kilari
2015-05-04 13:04                                                         ` Julien Grall
2015-05-04 13:27                                                           ` Vijay Kilari
2015-05-04 13:44                                                             ` Julien Grall
2015-05-04 13:54                                                               ` Julien Grall
2015-05-04 15:19                                                                 ` Vijay Kilari
2015-05-04 17:00                                                                   ` Julien Grall
2015-05-05 10:28                                                                     ` Stefano Stabellini
2015-05-05 11:06                                                                       ` Vijay Kilari
2015-05-05 11:47                                                                         ` Julien Grall
2015-05-05 12:00                                                                           ` Vijay Kilari
2015-05-05 12:08                                                                             ` Julien Grall
2015-05-05 11:08                                                                       ` Julien Grall
2015-05-05 11:45                                                                         ` Vijay Kilari
2015-05-05 11:54                                                                         ` Stefano Stabellini
2015-05-05 10:39                                                         ` Stefano Stabellini
2015-05-05 11:10                                                           ` Julien Grall
2015-05-05 11:57                                                             ` Stefano Stabellini
2015-05-05 12:03                                                               ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 14/22] xen/arm: its: Add emulation of ITS control registers vijay.kilari
2015-03-24 17:12   ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 15/22] xen/arm: its: Add support to emulate GICR register for LPIs vijay.kilari
2015-03-27 15:46   ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 16/22] xen/arm: its: implement hw_irq_controller " vijay.kilari
2015-03-27 17:02   ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 17/22] xen/arm: its: Map ITS translation space vijay.kilari
2015-03-27 17:07   ` Julien Grall
2015-03-19 14:38 ` [RFC PATCH v2 18/22] xen/arm: its: Dynamic allocation of LPI descriptors vijay.kilari
2015-03-19 14:38 ` [RFC PATCH v2 19/22] xen/arm: its: Support ITS interrupt handling vijay.kilari
2015-03-19 14:38 ` [RFC PATCH v2 20/22] xen/arm: its: Generate ITS node for Dom0 vijay.kilari
2015-03-19 14:38 ` [RFC PATCH v2 21/22] xen/arm: its: Initialize virtual and physical ITS driver vijay.kilari
2015-03-19 14:38 ` [RFC PATCH v2 22/22] xen/arm: its: Generate ITS dt node for DomU vijay.kilari
2015-03-20 13:37 ` [RFC PATCH v2 00/22] xen/arm: Add ITS support Julien Grall
2015-03-20 16:23 ` Julien Grall
2015-03-23 12:37   ` Vijay Kilari
2015-03-23 13:11     ` Julien Grall
2015-03-23 15:18       ` Vijay Kilari
2015-03-23 15:30         ` Julien Grall
2015-03-23 16:09           ` Vijay Kilari
2015-03-23 16:18             ` Julien Grall

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=555127EA.30707@citrix.com \
    --to=julien.grall@citrix.com \
    --cc=Prasun.Kapoor@caviumnetworks.com \
    --cc=ian.campbell@citrix.com \
    --cc=julien.grall@linaro.org \
    --cc=manish.jaggi@caviumnetworks.com \
    --cc=stefano.stabellini@citrix.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=tim@xen.org \
    --cc=vijay.kilari@gmail.com \
    --cc=vijaya.kumar@caviumnetworks.com \
    --cc=xen-devel@lists.xen.org \
    /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.