All of lore.kernel.org
 help / color / mirror / Atom feed
* client-facing feature bits and pending kernel changes
@ 2016-01-29 16:09 Sage Weil
  2016-01-29 17:07 ` Ilya Dryomov
  2016-02-01  9:30 ` Yan, Zheng
  0 siblings, 2 replies; 8+ messages in thread
From: Sage Weil @ 2016-01-29 16:09 UTC (permalink / raw)
  To: zyan, ceph-devel

Hi Zheng,

We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a 
pretty trivial change to crush/mapper.c that we can add to the kernel.

But there are two more coming:

OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for 
performance reasons.  Here is the PR

	https://github.com/ceph/ceph/pull/7386

The other is the file layout changes, which are much more invovled:

	https://github.com/ceph/ceph/pull/7098

Ideally we'd use the same feature bit for all of these, but it means they 
all need to upstream into Linux together.  Do you see a problem with that?
Assuming we get it all ready to go before the next merge window..

The tricky bit is we really need to know that we'll be able to do it 
together before we cut jewel too and commit to the overlapping feature 
bits.

sage

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-01-29 16:09 client-facing feature bits and pending kernel changes Sage Weil
@ 2016-01-29 17:07 ` Ilya Dryomov
  2016-01-31 23:21   ` Ilya Dryomov
  2016-02-01  9:30 ` Yan, Zheng
  1 sibling, 1 reply; 8+ messages in thread
From: Ilya Dryomov @ 2016-01-29 17:07 UTC (permalink / raw)
  To: Sage Weil; +Cc: Yan, Zheng, Ceph Development

On Fri, Jan 29, 2016 at 5:09 PM, Sage Weil <sweil@redhat.com> wrote:
> Hi Zheng,
>
> We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
> pretty trivial change to crush/mapper.c that we can add to the kernel.
>
> But there are two more coming:
>
> OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
> performance reasons.  Here is the PR
>
>         https://github.com/ceph/ceph/pull/7386
>
> The other is the file layout changes, which are much more invovled:
>
>         https://github.com/ceph/ceph/pull/7098
>
> Ideally we'd use the same feature bit for all of these, but it means they
> all need to upstream into Linux together.  Do you see a problem with that?
> Assuming we get it all ready to go before the next merge window..
>
> The tricky bit is we really need to know that we'll be able to do it
> together before we cut jewel too and commit to the overlapping feature
> bits.

In the worst case, we could advertise support for the new bit for rbd
and not for cephfs - I don't think we ever get/put ceph file layout
from/to the wire in the rbd case.

As for the two easy ones (TUNABLES5 in particular), I think we should
try and get them in ASAP into 4.5 and then finalize the feature bit
arrangement closer to the end of the cycle, if necessary.  Otherwise
we'll have jewel and no kernel supporting its default tunables.

Thanks,

                Ilya

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-01-29 17:07 ` Ilya Dryomov
@ 2016-01-31 23:21   ` Ilya Dryomov
  0 siblings, 0 replies; 8+ messages in thread
From: Ilya Dryomov @ 2016-01-31 23:21 UTC (permalink / raw)
  To: Sage Weil; +Cc: Yan, Zheng, Ceph Development

On Fri, Jan 29, 2016 at 6:07 PM, Ilya Dryomov <idryomov@gmail.com> wrote:
> On Fri, Jan 29, 2016 at 5:09 PM, Sage Weil <sweil@redhat.com> wrote:
>> Hi Zheng,
>>
>> We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
>> pretty trivial change to crush/mapper.c that we can add to the kernel.
>>
>> But there are two more coming:
>>
>> OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
>> performance reasons.  Here is the PR
>>
>>         https://github.com/ceph/ceph/pull/7386
>>
>> The other is the file layout changes, which are much more invovled:
>>
>>         https://github.com/ceph/ceph/pull/7098
>>
>> Ideally we'd use the same feature bit for all of these, but it means they
>> all need to upstream into Linux together.  Do you see a problem with that?
>> Assuming we get it all ready to go before the next merge window..
>>
>> The tricky bit is we really need to know that we'll be able to do it
>> together before we cut jewel too and commit to the overlapping feature
>> bits.
>
> In the worst case, we could advertise support for the new bit for rbd
> and not for cephfs - I don't think we ever get/put ceph file layout
> from/to the wire in the rbd case.
>
> As for the two easy ones (TUNABLES5 in particular), I think we should
> try and get them in ASAP into 4.5 and then finalize the feature bit
> arrangement closer to the end of the cycle, if necessary.  Otherwise
> we'll have jewel and no kernel supporting its default tunables.

To that end, I've pulled crush changes into the kernel client, aiming
for -rc3.

Thanks,

                Ilya

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-01-29 16:09 client-facing feature bits and pending kernel changes Sage Weil
  2016-01-29 17:07 ` Ilya Dryomov
@ 2016-02-01  9:30 ` Yan, Zheng
  2016-02-01 13:08   ` Sage Weil
  2016-02-01 14:24   ` Yan, Zheng
  1 sibling, 2 replies; 8+ messages in thread
From: Yan, Zheng @ 2016-02-01  9:30 UTC (permalink / raw)
  To: Sage Weil; +Cc: Zheng Yan, ceph-devel

On Sat, Jan 30, 2016 at 12:09 AM, Sage Weil <sweil@redhat.com> wrote:
> Hi Zheng,
>
> We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
> pretty trivial change to crush/mapper.c that we can add to the kernel.
>
> But there are two more coming:
>
> OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
> performance reasons.  Here is the PR
>
>         https://github.com/ceph/ceph/pull/7386
>
> The other is the file layout changes, which are much more invovled:
>
>         https://github.com/ceph/ceph/pull/7098

Can we avoid changing how file layout is encoded in MClientCaps and
MClientReply? Instead, we encode the namespace information at the end
of MClientCaps/MClientReply message. (like how we added inline data
related fields to these message).

Regards
Yan, Zheng

>
> Ideally we'd use the same feature bit for all of these, but it means they
> all need to upstream into Linux together.  Do you see a problem with that?
> Assuming we get it all ready to go before the next merge window..
>
> The tricky bit is we really need to know that we'll be able to do it
> together before we cut jewel too and commit to the overlapping feature
> bits.
>
> sage
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-02-01  9:30 ` Yan, Zheng
@ 2016-02-01 13:08   ` Sage Weil
  2016-02-01 14:45     ` Yan, Zheng
  2016-02-01 14:24   ` Yan, Zheng
  1 sibling, 1 reply; 8+ messages in thread
From: Sage Weil @ 2016-02-01 13:08 UTC (permalink / raw)
  To: Yan, Zheng; +Cc: Zheng Yan, ceph-devel

On Mon, 1 Feb 2016, Yan, Zheng wrote:
> On Sat, Jan 30, 2016 at 12:09 AM, Sage Weil <sweil@redhat.com> wrote:
> > Hi Zheng,
> >
> > We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
> > pretty trivial change to crush/mapper.c that we can add to the kernel.
> >
> > But there are two more coming:
> >
> > OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
> > performance reasons.  Here is the PR
> >
> >         https://github.com/ceph/ceph/pull/7386
> >
> > The other is the file layout changes, which are much more invovled:
> >
> >         https://github.com/ceph/ceph/pull/7098
> 
> Can we avoid changing how file layout is encoded in MClientCaps and
> MClientReply? Instead, we encode the namespace information at the end
> of MClientCaps/MClientReply message. (like how we added inline data
> related fields to these message).

Hmm.. yeah, we do that, at least for MClientCaps.  It just means that if 
we ever add more fields to that struct we need to maintain the message 
encoding in parallel by hand, but that shouldn't be too bad.

The MClientReply one is a bit trickier because there can be N instances of 
InodeStat (or whatever) in there... on that one I'd lean toward switching 
the encoding.  What do you think?

sage

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-02-01  9:30 ` Yan, Zheng
  2016-02-01 13:08   ` Sage Weil
@ 2016-02-01 14:24   ` Yan, Zheng
  2016-02-01 14:46     ` Sage Weil
  1 sibling, 1 reply; 8+ messages in thread
From: Yan, Zheng @ 2016-02-01 14:24 UTC (permalink / raw)
  To: Sage Weil; +Cc: Zheng Yan, ceph-devel

On Mon, Feb 1, 2016 at 5:30 PM, Yan, Zheng <ukernel@gmail.com> wrote:
> On Sat, Jan 30, 2016 at 12:09 AM, Sage Weil <sweil@redhat.com> wrote:
>> Hi Zheng,
>>
>> We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
>> pretty trivial change to crush/mapper.c that we can add to the kernel.
>>
>> But there are two more coming:
>>
>> OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
>> performance reasons.  Here is the PR
>>
>>         https://github.com/ceph/ceph/pull/7386
>>
>> The other is the file layout changes, which are much more invovled:
>>
>>         https://github.com/ceph/ceph/pull/7098
>
> Can we avoid changing how file layout is encoded in MClientCaps and
> MClientReply? Instead, we encode the namespace information at the end
> of MClientCaps/MClientReply message. (like how we added inline data
> related fields to these message).

see

https://github.com/ukernel/ceph/commit/930c4982e9fda9e894dda9d5c91d17a7bed1b13a
https://github.com/ceph/ceph-client/commit/4cc460f0d57ca735bf484e63fcde917827c1775b

patch for kernel is small. should be OK for 4.5-rc


Regards
Yan, Zheng

>
> Regards
> Yan, Zheng
>
>>
>> Ideally we'd use the same feature bit for all of these, but it means they
>> all need to upstream into Linux together.  Do you see a problem with that?
>> Assuming we get it all ready to go before the next merge window..
>>
>> The tricky bit is we really need to know that we'll be able to do it
>> together before we cut jewel too and commit to the overlapping feature
>> bits.
>>
>> sage
>> --
>> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
>> the body of a message to majordomo@vger.kernel.org
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-02-01 13:08   ` Sage Weil
@ 2016-02-01 14:45     ` Yan, Zheng
  0 siblings, 0 replies; 8+ messages in thread
From: Yan, Zheng @ 2016-02-01 14:45 UTC (permalink / raw)
  To: Sage Weil; +Cc: Zheng Yan, ceph-devel

On Mon, Feb 1, 2016 at 9:08 PM, Sage Weil <sweil@redhat.com> wrote:
> On Mon, 1 Feb 2016, Yan, Zheng wrote:
>> On Sat, Jan 30, 2016 at 12:09 AM, Sage Weil <sweil@redhat.com> wrote:
>> > Hi Zheng,
>> >
>> > We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
>> > pretty trivial change to crush/mapper.c that we can add to the kernel.
>> >
>> > But there are two more coming:
>> >
>> > OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
>> > performance reasons.  Here is the PR
>> >
>> >         https://github.com/ceph/ceph/pull/7386
>> >
>> > The other is the file layout changes, which are much more invovled:
>> >
>> >         https://github.com/ceph/ceph/pull/7098
>>
>> Can we avoid changing how file layout is encoded in MClientCaps and
>> MClientReply? Instead, we encode the namespace information at the end
>> of MClientCaps/MClientReply message. (like how we added inline data
>> related fields to these message).
>
> Hmm.. yeah, we do that, at least for MClientCaps.  It just means that if
> we ever add more fields to that struct we need to maintain the message
> encoding in parallel by hand, but that shouldn't be too bad.
>
> The MClientReply one is a bit trickier because there can be N instances of
> InodeStat (or whatever) in there... on that one I'd lean toward switching
> the encoding.  What do you think?
>

We can use conection's features to decide how many memory each
InodeStat uses. It's how inline data was added to InodeStat

Regards
Yan, Zheng

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: client-facing feature bits and pending kernel changes
  2016-02-01 14:24   ` Yan, Zheng
@ 2016-02-01 14:46     ` Sage Weil
  0 siblings, 0 replies; 8+ messages in thread
From: Sage Weil @ 2016-02-01 14:46 UTC (permalink / raw)
  To: Yan, Zheng; +Cc: Zheng Yan, ceph-devel

On Mon, 1 Feb 2016, Yan, Zheng wrote:
> On Mon, Feb 1, 2016 at 5:30 PM, Yan, Zheng <ukernel@gmail.com> wrote:
> > On Sat, Jan 30, 2016 at 12:09 AM, Sage Weil <sweil@redhat.com> wrote:
> >> Hi Zheng,
> >>
> >> We have one feature already merged to ceph.git, CRUSH_TUNABLES5, that's a
> >> pretty trivial change to crush/mapper.c that we can add to the kernel.
> >>
> >> But there are two more coming:
> >>
> >> OSDOPREPLY_ENCODING makes a small change to the OSDOpReply encoding for
> >> performance reasons.  Here is the PR
> >>
> >>         https://github.com/ceph/ceph/pull/7386
> >>
> >> The other is the file layout changes, which are much more invovled:
> >>
> >>         https://github.com/ceph/ceph/pull/7098
> >
> > Can we avoid changing how file layout is encoded in MClientCaps and
> > MClientReply? Instead, we encode the namespace information at the end
> > of MClientCaps/MClientReply message. (like how we added inline data
> > related fields to these message).
> 
> see
> 
> https://github.com/ukernel/ceph/commit/930c4982e9fda9e894dda9d5c91d17a7bed1b13a
> https://github.com/ceph/ceph-client/commit/4cc460f0d57ca735bf484e63fcde917827c1775b
> 
> patch for kernel is small. should be OK for 4.5-rc

Cool, sounds good to me, then!  I'll squash the ceph.git patch down into 
the original commit(s) in wip-file-layout.

sage

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-02-01 14:46 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-29 16:09 client-facing feature bits and pending kernel changes Sage Weil
2016-01-29 17:07 ` Ilya Dryomov
2016-01-31 23:21   ` Ilya Dryomov
2016-02-01  9:30 ` Yan, Zheng
2016-02-01 13:08   ` Sage Weil
2016-02-01 14:45     ` Yan, Zheng
2016-02-01 14:24   ` Yan, Zheng
2016-02-01 14:46     ` Sage Weil

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.