linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Max Staudt <max@enpas.org>
To: Marc Kleine-Budde <mkl@pengutronix.de>
Cc: Oliver Hartkopp <socketcan@hartkopp.net>,
	Vincent MAILHOL <mailhol.vincent@wanadoo.fr>,
	linux-can@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org
Subject: Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c
Date: Tue, 17 May 2022 14:39:21 +0200	[thread overview]
Message-ID: <20220517143921.08458f2c.max@enpas.org> (raw)
In-Reply-To: <20220517122153.4r6n6kkbdslsa2hv@pengutronix.de>

On Tue, 17 May 2022 14:21:53 +0200
Marc Kleine-Budde <mkl@pengutronix.de> wrote:

> On 17.05.2022 14:14:04, Max Staudt wrote:
> > > After looking through drivers/net/can/Kconfig I would probably
> > > phrase it like this:
> > > 
> > > Select CAN devices (hw/sw) -> we compile a can_dev module. E.g.
> > > to handle the skb stuff for vcan's.
> > > 
> > > Select hardware CAN devices -> we compile the netlink stuff into
> > > can_dev and offer CAN_CALC_BITTIMING and CAN_LEDS to be compiled
> > > into can_dev too.
> > > 
> > > In the latter case: The selection of flexcan, ti_hecc and
> > > mcp251xfd automatically selects CAN_RX_OFFLOAD which is then also
> > > compiled into can_dev.
> > > 
> > > Would that fit in terms of complexity?  
> > 
> > IMHO these should always be compiled into can-dev. Out of tree
> > drivers are fairly common here, and having to determine which kind
> > of can-dev (stripped or not) the user has on their system is a
> > nightmare waiting to happen.  
> 
> I personally don't care about out-of-tree drivers.

I know that this is the official stance in the kernel.

But out-of-tree drivers do happen on a regular basis, even when
developing with the aim of upstreaming. And if a developer builds a
minimal kernel to host a CAN driver, without building in-tree hardware
CAN drivers, then can-dev will be there but behave differently from
can-dev in a full distro. Leading to heisenbugs and wasting time. The
source of heisenbugs really are the suggested *hidden* Kconfigs.


On another note, is the module accounting overhead in the kernel for
two new modules with relatively little code in each, code that almost
always is loaded when CAN is used, really worth it?


Okay, I think I'm out of 2 cent pieces now :)


Max

  reply	other threads:[~2022-05-17 12:39 UTC|newest]

Thread overview: 119+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-05-13 14:23 [PATCH 0/2] can: drop tx skb if the device is in listen only mode Vincent Mailhol
2022-05-13 14:23 ` [PATCH 1/2] can: move can_dropped_invalid_skb from skb.h to dev.h Vincent Mailhol
2022-05-13 14:23 ` [PATCH 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 14:42 ` [PATCH 0/2] can: drop tx skb if the device is " Marc Kleine-Budde
2022-05-13 15:20   ` Vincent MAILHOL
2022-05-13 15:36 ` [PATCH v2 " Vincent Mailhol
2022-05-13 15:36   ` [PATCH v2 1/2] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-14  4:20     ` kernel test robot
2022-05-14  5:16       ` Vincent MAILHOL
2022-05-14 11:17         ` Max Staudt
2022-05-13 15:36   ` [PATCH v2 2/2] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-05-13 17:40   ` [PATCH v2 0/2] can: drop tx skb if the device is " Max Staudt
2022-05-14  3:00     ` Vincent MAILHOL
2022-05-14 14:16 ` [PATCH v3 0/4] can: can_dropped_invalid_skb() and Kbuild changes Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 1/4] can: slcan: use can_dropped_invalid_skb() instead of manual check Vincent Mailhol
2022-05-16 20:40     ` Marc Kleine-Budde
2022-05-14 14:16   ` [PATCH v3 2/4] can: Kconfig: change CAN_DEV into a menuconfig Vincent Mailhol
2022-05-14 14:16   ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Vincent Mailhol
2022-05-15 19:17     ` Oliver Hartkopp
2022-05-17  1:50       ` Vincent MAILHOL
2022-05-17  4:12         ` Max Staudt
2022-05-17  6:08         ` Marc Kleine-Budde
2022-05-17  7:04           ` Vincent MAILHOL
2022-05-17 10:45             ` Marc Kleine-Budde
2022-05-17 11:51               ` Oliver Hartkopp
2022-05-17 12:14                 ` Max Staudt
2022-05-17 12:21                   ` Marc Kleine-Budde
2022-05-17 12:39                     ` Max Staudt [this message]
2022-05-17 13:35                       ` Oliver Hartkopp
2022-05-17 13:43                         ` Max Staudt
2022-05-17 14:23                           ` Marc Kleine-Budde
2022-05-17 14:35                           ` Oliver Hartkopp
2022-05-17 15:38                             ` Max Staudt
2022-05-17 15:50                               ` Oliver Hartkopp
2022-05-17 17:52                                 ` Max Staudt
2022-05-18 12:03                         ` Vincent MAILHOL
2022-05-18 12:12                           ` Device Drivers: (was: Re: [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c) Marc Kleine-Budde
2022-05-18 12:45                             ` Oliver Hartkopp
2022-05-18 13:10                           ` [PATCH v3 3/4] can: skb:: move can_dropped_invalid_skb and can_skb_headroom_valid to skb.c Oliver Hartkopp
2022-05-18 13:28                             ` Marc Kleine-Budde
2022-05-18 14:07                               ` Vincent MAILHOL
2022-05-18 14:33                                 ` Oliver Hartkopp
2022-05-18 14:36                                   ` Marc Kleine-Budde
2022-05-18 14:38                                     ` Oliver Hartkopp
2022-05-18 14:55                                       ` Oliver Hartkopp
2022-05-18 15:38                                         ` Vincent MAILHOL
2022-05-18 15:48                                           ` Max Staudt
2022-05-18 16:01                                             ` Vincent MAILHOL
2022-05-14 14:16   ` [PATCH v3 4/4] can: dev: drop tx skb if in listen only mode Vincent Mailhol
2022-06-03 10:28 ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 11:27     ` Marc Kleine-Budde
2022-06-04 12:30       ` Vincent MAILHOL
2022-06-04 12:43         ` Marc Kleine-Budde
2022-06-04 13:46     ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 11:25     ` Marc Kleine-Budde
2022-06-04 12:21       ` Vincent MAILHOL
2022-06-04 12:41         ` Marc Kleine-Budde
2022-06-04 12:56           ` Vincent MAILHOL
2022-06-04 13:51             ` Marc Kleine-Budde
2022-06-03 10:28   ` [PATCH v4 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-04 11:22     ` Marc Kleine-Budde
2022-06-04 12:14       ` Vincent MAILHOL
2022-06-03 10:28   ` [PATCH v4 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-03 10:28   ` [PATCH v4 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-04 11:46   ` [PATCH v4 0/7] can: refactoring of can-dev module and of Kbuild Marc Kleine-Budde
2022-06-04 13:05     ` Vincent MAILHOL
2022-06-04 13:55       ` Marc Kleine-Budde
2022-06-04 14:59         ` Vincent MAILHOL
2022-06-04 15:18           ` Marc Kleine-Budde
2022-06-04 16:32             ` Vincent MAILHOL
2022-06-05 10:39               ` Marc Kleine-Budde
2022-06-05 13:57                 ` Vincent MAILHOL
2022-06-05 18:08                   ` Marc Kleine-Budde
2022-06-04 16:29 ` [PATCH v5 " Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 1/7] can: Kbuild: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-07  8:43     ` Geert Uytterhoeven
2022-06-07  9:27       ` Vincent MAILHOL
2022-06-07 16:22         ` Max Staudt
2022-06-07 22:06           ` Jakub Kicinski
2022-06-07 23:40             ` Vincent MAILHOL
2022-06-08  0:07               ` Jakub Kicinski
2022-06-07 23:43             ` Max Staudt
2022-06-08  0:14               ` Jakub Kicinski
2022-06-08  0:22                 ` Max Staudt
2022-06-08  1:38                 ` Vincent MAILHOL
2022-06-04 16:29   ` [PATCH v5 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-04 16:29   ` [PATCH v5 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-04 16:30   ` [PATCH v5 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-05 17:23   ` [PATCH v5 0/7] can: refactoring of can-dev module and of Kbuild Max Staudt
2022-06-05 18:06     ` Marc Kleine-Budde
2022-06-05 20:46       ` Max Staudt
2022-06-06  0:24         ` Vincent MAILHOL
2022-06-06 19:24   ` Oliver Hartkopp
2022-06-07  2:49     ` Vincent MAILHOL
2022-06-07  7:13       ` Marc Kleine-Budde
2022-06-07  8:49         ` Vincent MAILHOL
2022-06-07 20:12       ` Oliver Hartkopp
2022-06-07 20:27         ` Marc Kleine-Budde
2022-06-07 20:51           ` Oliver Hartkopp
2022-06-07 23:59             ` Vincent MAILHOL
2022-06-08 20:10               ` Oliver Hartkopp
2022-06-10 14:30 ` [PATCH v6 " Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 1/7] can: Kconfig: rename config symbol CAN_DEV into CAN_NETLINK Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 2/7] can: Kconfig: turn menu "CAN Device Drivers" into a menuconfig using CAN_DEV Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 3/7] can: bittiming: move bittiming calculation functions to calc_bittiming.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 4/7] can: Kconfig: add CONFIG_CAN_RX_OFFLOAD Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 5/7] net: Kconfig: move the CAN device menu to the "Device Drivers" section Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 6/7] can: skb: move can_dropped_invalid_skb() and can_skb_headroom_valid() to skb.c Vincent Mailhol
2022-06-10 14:30   ` [PATCH v6 7/7] can: skb: drop tx skb if in listen only mode Vincent Mailhol
2022-06-10 21:38   ` [PATCH v6 0/7] can: refactoring of can-dev module and of Kbuild Oliver Hartkopp
2022-06-10 22:43   ` Max Staudt
2022-06-11 15:17   ` Marc Kleine-Budde

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=20220517143921.08458f2c.max@enpas.org \
    --to=max@enpas.org \
    --cc=linux-can@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mailhol.vincent@wanadoo.fr \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=socketcan@hartkopp.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).