summaryrefslogtreecommitdiff
path: root/include (follow)
Commit message (Collapse)AuthorAge
...
* | video: adf: add buffer padding quirkGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Quirks specify common behaviors that vary slightly among devices, and which ADF must account for. The buffer padding quirk captures the way different devices fetch the last scanline in a buffer: some devices fetch an entire line (including padding to the pitch) while others only fetch up to the visible width. ADF's buffer size validation now takes this quirk into account. Change-Id: I828b13316e27621d8a9efd9d5fffa6ce12a525ff Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: ensure consistent alignment on userspace facing structsGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | | | | | 64-bit types in structs create alignment problems when a 32-bit x86 userspace talks to an x86_64 kernel. In most cases the 64-bit types can be replaced with 32-bit ones, since they're being used for fds and should have been __s32 in the first place. For adf_vsync_event, alignment can be enforced by making the timestamp an __aligned_u64. Change-Id: I87cf73d8f57730bd7bb43ffce6b7b411eb0ff198 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: replace fbdev helper's open flag with refcountGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | A device's fb_info is shared between clients. fb_release() is called when each client is released, not just the last one. Since the fbdev helper needs to release its dma-buf when the last client goes away, it must keep its own reference count. fbmem and fbcon hold different locks while calling fb_release(), so explicit locking is needed. Change-Id: I42cd659f7633adba7c11f407d4b594bd43305d6a Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: define constants for device-custom ioctlsGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | Device-custom ADF ioctls can use type ADF_IOCTL_TYPE and nr >= ADF_IOCTL_NR_CUSTOM Change-Id: Ia8270973df5100e996ca0e021ede60e54b9af72a Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: fix ADF_MAX_ATTACHMENTS declarationGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | Userspace-facing ADF_MAX_ATTACHMENTS must be in terms of userspace-facing struct adf_attachment_config Change-Id: Iaaddcd6366f13b3e52eb3911efcfff8a61e0b225 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: remove PAGE_SIZE from userspace-facing headerGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | Systems may define PAGE_SIZE in userspace limits.h but don't have to. PAGE_SIZE was picked as an arbitrary "reasonable" limit so just use 4096 instead. Change-Id: I9555e39aba64a3a70f61eb6ded2a4129ab236ce0 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: expose adf_modeinfo_set_{name,vrefresh} to driversGreg Hackmann2016-02-16
| | | | | | | | | | Change-Id: Id9f8b2184927a77b244ce0b33d619d6e44a0f17a Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: add helpers for validating custom formatsGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | | | Many custom formats look a lot like the standard ones, but with different subsampling, bpp, etc. Expose and document adf_buffer_validate()'s main body, so drivers can reuse its logic when validating these formats. Change-Id: I1d06981c9e5aab26f3ab2956c08c679f2c823bcc Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: add informational flags to interfacesGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | Informational flags don't affect ADF directly but may be useful to clients. Currently used to indicate primary and external displays. Change-Id: I343c7f0148da0869244c8e818350e9855525df85 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: add fbdev compatibility helperGreg Hackmann2016-02-16
| | | | | | | | | | Change-Id: I2b82bb625f805e8edb27799743b290dda5befb97 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: add supported formats to adf_overlay_engine_dataGreg Hackmann2016-02-16
| | | | | | | | | | Change-Id: If2aa783b9ece60160f465bf697508fc58682e1bc Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: support "simple" buffersGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | Simple buffers are linear RGB buffers analogous to KMS's dumb buffers. Simple buffers can be allocated and posted to a display interface without any driver-private data. Internally, ADF drivers provide the driver-private data needed (if any) to post a simple buffer to the display. Change-Id: Ib0b737622eaf343111310f6623f99d69cf3807d2 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: adf: add memblock helperGreg Hackmann2016-02-16
| | | | | | | | | | | | | | | | Provides a dma-buf exporter for memblocks, mainly useful for ADF devices to wrap their bootloader logos Change-Id: I936a9b5df099ab6084d433fcaf50f3bc29f93289 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | video: add atomic display frameworkGreg Hackmann2016-02-16
| | | | | | | | | | Change-Id: I693257e269a99012cd0dbb57576ac222869cf4c7 Signed-off-by: Greg Hackmann <ghackmann@google.com>
* | cpufreq: interactive: trace actual speed in target speed decisionsTodd Poynor2016-02-16
| | | | | | | | | | | | | | | | Tracing adds actual speed since this is expected to be key to the choice of target speed. Change-Id: Iec936102d0010c4e9dfa143c38a9fd0d551189c3 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: handle speed up and down in the realtime taskTodd Poynor2016-02-16
| | | | | | | | | | | | | | | | Not useful to have a separate, non-realtime workqueue for speed down events, avoid priority inversion for speed up events. Change-Id: Iddcd05545245c847aa1bbe0b8790092914c813d2 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: fixup trace of string paramsTodd Poynor2016-02-16
| | | | | | | | | | Change-Id: Iac47f62437e61b13724afbbf9df1a0729f58f236 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: add boost pulse interfaceTodd Poynor2016-02-16
| | | | | | | | | | Change-Id: Icf1e86d2065cc8f0816ba9c6b065eb056d4e8249 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: Add sysfs boost interface for hints from userspaceTodd Poynor2016-02-16
| | | | | | | | | | | | | | The explicit hint on/off version. Change-Id: Ibf62b6d45bf6fb8c9c055b9bdaf074ce9374c04f Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: Boost frequency on touchscreen inputTodd Poynor2016-02-16
| | | | | | | | | | | | | | | | | | | | | | Based on previous patches by Tero Kristo <tero.kristo@nokia.com>, Brian Steuer <bsteuer@codeaurora.org>, David Ng <dave@codeaurora.org>, Antti P Miettinen <amiettinen@nvidia.com>, and Thomas Renninger <trenn@suse.de> Change-Id: Ic55fedcf6f9310f43a7022fb88e23b0392122769 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq interactive governor: event tracingTodd Poynor2016-02-16
| | | | | | | | | | Change-Id: Ic13614a3da2faa2d4bd215ca3eb7191614f0cf66 Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | cpufreq: interactive: New 'interactive' governorMike Chan2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This governor is designed for latency-sensitive workloads, such as interactive user interfaces. The interactive governor aims to be significantly more responsive to ramp CPU quickly up when CPU-intensive activity begins. Existing governors sample CPU load at a particular rate, typically every X ms. This can lead to under-powering UI threads for the period of time during which the user begins interacting with a previously-idle system until the next sample period happens. The 'interactive' governor uses a different approach. Instead of sampling the CPU at a specified rate, the governor will check whether to scale the CPU frequency up soon after coming out of idle. When the CPU comes out of idle, a timer is configured to fire within 1-2 ticks. If the CPU is very busy from exiting idle to when the timer fires then we assume the CPU is underpowered and ramp to MAX speed. If the CPU was not sufficiently busy to immediately ramp to MAX speed, then the governor evaluates the CPU load since the last speed adjustment, choosing the highest value between that longer-term load or the short-term load since idle exit to determine the CPU speed to ramp to. A realtime thread is used for scaling up, giving the remaining tasks the CPU performance benefit, unlike existing governors which are more likely to schedule rampup work to occur after your performance starved tasks have completed. The tuneables for this governor are: /sys/devices/system/cpu/cpufreq/interactive/min_sample_time: The minimum amount of time to spend at the current frequency before ramping down. This is to ensure that the governor has seen enough historic CPU load data to determine the appropriate workload. Default is 80000 uS. /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load The CPU load at which to ramp to max speed. Default is 85. Change-Id: Ib2b362607c62f7c56d35f44a9ef3280f98c17585 Signed-off-by: Mike Chan <mike@android.com> Signed-off-by: Todd Poynor <toddpoynor@google.com> Bug: 3152864
* | Move x86_64 idle notifiers to genericTodd Poynor2016-02-16
| | | | | | | | | | | | | | | | | | Move the x86_64 idle notifiers originally by Andi Kleen and Venkatesh Pallipadi to generic. Change-Id: Idf29cda15be151f494ff245933c12462643388d5 Acked-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Todd Poynor <toddpoynor@google.com>
* | sched: add sched blocked tracepoint which dumps out context of sleep.Riley Andrews2016-02-16
| | | | | | | | | | | | | | | | | | Decare war on uninterruptible sleep. Add a tracepoint which walks the kernel stack and dumps the first non-scheduler function called before the scheduler is invoked. Change-Id: I19e965d5206329360a92cbfe2afcc8c30f65c229 Signed-off-by: Riley Andrews <riandrews@google.com>
* | usb: phy: Dual role sysfs class definitionBadhri Jagan Sridharan2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL adds a new class to monitor and change dual role usb ports from userspace. The usb phy drivers can register to the dual_role_usb class and expose the capabilities of the ports. The phy drivers can decide on whether a specific attribute can be changed from userspace by choosing to implement the appropriate callback. Cherry-picked from https://android-review.googlesource.com/#/c/167310/ Signed-off-by: Badhri Jagan Sridharan <badhri@google.com> Bug: 21615151 Change-Id: Id1c4aaa97e898264d7006381a7badd029b5d9789
* | usb: gadget: configfs: Add usb_function ptr to fi structBadhri Jagan Sridharan2016-02-16
| | | | | | | | | | | | | | | | | | | | Add a pointer to the usb_function inside the usb_function_instance structure to service functions specific setup requests even before the function gets added to the usb_gadget Signed-off-by: Badhri Jagan Sridharan <Badhri@google.com> Change-Id: I6f457006f6c5516cc6986ec2acdf5b1ecf259d0c
* | usb: gadget: f_accessory: move userspace interface to uapiColin Cross2016-02-16
| | | | | | | | | | | | | | | | Move the entire contents of linux/usb/f_accessory.h header to uapi, it only contains a userspace interface. Change-Id: Ieb5547da449588ae554988a201c0e6b4e3afc531 Signed-off-by: Colin Cross <ccross@android.com>
* | usb: gadget: f_mtp: move userspace interface to uapiColin Cross2016-02-16
| | | | | | | | | | | | | | | | | | Move the most of linux/usb/f_mtp.h header to uapi. Move the only remaining structure definition into f_mtp.c, the only place that uses it. Change-Id: I952c1a9dc15c36bf295a0eb4d74b6b1ad912ed03 Signed-off-by: Colin Cross <ccross@android.com>
* | USB: gadget: f_accessory: Add support for HID input devicesMike Lockwood2016-02-16
| | | | | | | | | | Change-Id: I4f1452db32508382df52acdc47c0eb395ae328c7 Signed-off-by: Mike Lockwood <lockwood@google.com>
* | USB: gadget: Add ACCESSORY_SET_AUDIO_MODE control request and ioctlMike Lockwood2016-02-16
| | | | | | | | | | | | | | | | The control request will be used by the host to enable/disable USB audio and the ioctl will be used by userspace to read the audio mode Change-Id: I81c38611b588451e80eacdccc417ca6e11c60cab Signed-off-by: Mike Lockwood <lockwood@google.com>
* | usb: gadget: accessory: Add Android Accessory functionBenoit Goby2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | USB accessory mode allows users to connect USB host hardware specifically designed for Android-powered devices. The accessories must adhere to the Android accessory protocol outlined in the http://accessories.android.com documentation. This allows Android devices that cannot act as a USB host to still interact with USB hardware. When an Android device is in USB accessory mode, the attached Android USB accessory acts as the host, provides power to the USB bus, and enumerates connected devices. Change-Id: I67964b50d278f3c0471d47efbb7b0973a3502681 Signed-off-by: Mike Lockwood <lockwood@android.com>
* | usb: gadget: mtp: Add MTP/PTP functionBenoit Goby2016-02-16
| | | | | | | | | | | | | | | | | | | | USB gadget function driver used by the Android framework to implement the MTP and PTP protocols. It creates a character device that provides an interface for fast transfer of files and supports transferring files greater than 4GB. Change-Id: I2d8f2c37029fb37d8deb791d04eb7346f94f5adb Signed-off-by: Mike Lockwood <lockwood@android.com>
* | wlan: Add get_wake_irq functionalityDmitry Shmidt2016-02-16
| | | | | | | | | | Change-Id: Ic41f06c509b2e625dc9ec4131903db6920c5fd4e Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | Add flags parameter to get_country_code templateDmitry Shmidt2016-02-16
| | | | | | | | | | Change-Id: Ic3f173db144a301ea104f544fc8ec723241c1d59 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | net: wireless: Add get_country_code functionality to platformDmitry Shmidt2016-02-16
| | | | | | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | network: wireless: Add get_mac_addr functionality to platformDmitry Shmidt2016-02-16
| | | | | | | | Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | wlan: Create generic wlan platform data headerDmitry Shmidt2016-02-16
| | | | | | | | | | Change-Id: I233559218cc40acb28b57315ea25c08a9c866725 Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>
* | tcp: add a sysctl to config the tcp_default_init_rwndJP Abgrall2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The default initial rwnd is hardcoded to 10. Now we allow it to be controlled via /proc/sys/net/ipv4/tcp_default_init_rwnd which limits the values from 3 to 100 This is somewhat needed because ipv6 routes are autoconfigured by the kernel. See "An Argument for Increasing TCP's Initial Congestion Window" in https://developers.google.com/speed/articles/tcp_initcwnd_paper.pdf Change-Id: I386b2a9d62de0ebe05c1ebe1b4bd91b314af5c54 Signed-off-by: JP Abgrall <jpa@google.com> Conflicts: net/ipv4/sysctl_net_ipv4.c net/ipv4/tcp_input.c
* | net: activity_stats: Add statistics for network transmission activityMike Chan2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When enabled, tracks the frequency of network transmissions (inbound and outbound) and buckets them accordingly. Buckets are determined by time between network activity. Each bucket represents the number of network transmisions that were N sec or longer apart. Where N is defined as 1 << bucket index. This network pattern tracking is particularly useful for wireless networks (ie: 3G) where batching network activity closely together is more power efficient than far apart. New file: /proc/net/stat/activity output: Min Bucket(sec) Count 1 7 2 0 4 1 8 0 16 0 32 2 64 1 128 0 Change-Id: I4c4cd8627b872a55f326b1715c51bc3bdd6e8d92 Signed-off-by: Mike Chan <mike@android.com>
* | netfilter: xt_qtaguid/socket: build fixes for 4.4Amit Pundir2016-02-16
| | | | | | | | | | | | | | | | | | Update xt_socket_lookup_slow_v* usage in aosp patches, to align with changes from mainline commit 686c9b50809d "netfilter: x_tables: Use par->net instead of computing from the passed net devices". Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
* | netfilter: xt_qtaguid: xt_socket: build fixesAmit Pundir2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | Add missing header <linux/miscdevice.h> and use xt_socket_lookup_slow_v* instead of xt_socket_get*_sk in xt_qtaguid.c. Fix xt_socket_lookup_slow_v* functions in xt_socket.c and declare them in xt_socket.h Change-Id: I55819b2d4ffa82a2be20995c87d28fb5cc77b5ba Signed-off-by: Amit Pundir <amit.pundir@linaro.org> Signed-off-by: John Stultz <john.stultz@linaro.org>
* | xt_qtaguid: use sock_gen_put() instead of xt_socket_put_sk()Amit Pundir2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Removing obsolete xt_socket_put_sk() and using sock_gen_put() instead. xt_socket_put_sk() was reintroduced for xt_qtaguid in one of the patches, but it turned out sock_gen_put() supersedes xt_socket_put_sk(). So we don't need xt_socket_put_sk() any more. This patch is based on commit 1a8bf6eeef9f (netfilter: xt_socket: use sock_gen_put()) Change-Id: I976d5f7f7eded0f3cc91b596acfeb35e4c2057e5 Signed-off-by: Amit Pundir <amit.pundir@linaro.org> (cherry picked from commit 551780fc28cb7480dbc4f585ef80ca02c2922ec1) Signed-off-by: John Stultz <john.stultz@linaro.org>
* | netfilter: Build fixups - kuid/kguid changes & xt_socket_get/put_skJohn Stultz2016-02-16
| | | | | | | | | | | | | | | | | | Fix up build kuid/kguid build issues in netfilter code. Also re-add the xt_socket_get/put_sk interfaces needed by xt_qtaguid. Change-Id: I7027fb840e109785bddffe8ea717b8d018b26d82 Signed-off-by: John Stultz <john.stultz@linaro.org>
* | net: core: Handle 'sk' being NULL in UID-based routingSreeram Ramachandran2016-02-16
| | | | | | | | | | | | | | | | | | | | | | It has Amit Pundir <amit.pundir@linaro.org> fix: net: core: fix UID-based routing build Bug: 15413527 Change-Id: Iab1fae9da6053b284591628ef1de878761b137b1 Signed-off-by: Sreeram Ramachandran <sreeram@google.com> Signed-off-by: Dmitry Shmidt <dimitrysh@google.com> Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
* | net: core: Support UID-based routing.Lorenzo Colitti2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This contains the following commits: 1. cc2f522 net: core: Add a UID range to fib rules. 2. d7ed2bd net: core: Use the socket UID in routing lookups. 3. 2f9306a net: core: Add a RTA_UID attribute to routes. This is so that userspace can do per-UID route lookups. 4. 8e46efb net: ipv6: Use the UID in IPv6 PMTUD IPv4 PMTUD already does this because ipv4_sk_update_pmtu uses __build_flow_key, which includes the UID. Bug: 15413527 Change-Id: Iae3d4ca3979d252b6cec989bdc1a6875f811f03a Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
* | net: ipv6: autoconf routes into per-device tablesLorenzo Colitti2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, IPv6 router discovery always puts routes into RT6_TABLE_MAIN. This causes problems for connection managers that want to support multiple simultaneous network connections and want control over which one is used by default (e.g., wifi and wired). To work around this connection managers typically take the routes they prefer and copy them to static routes with low metrics in the main table. This puts the burden on the connection manager to watch netlink to see if the routes have changed, delete the routes when their lifetime expires, etc. Instead, this patch adds a per-interface sysctl to have the kernel put autoconf routes into different tables. This allows each interface to have its own autoconf table, and choosing the default interface (or using different interfaces at the same time for different types of traffic) can be done using appropriate ip rules. The sysctl behaves as follows: - = 0: default. Put routes into RT6_TABLE_MAIN as before. - > 0: manual. Put routes into the specified table. - < 0: automatic. Add the absolute value of the sysctl to the device's ifindex, and use that table. The automatic mode is most useful in conjunction with net.ipv6.conf.default.accept_ra_rt_table. A connection manager or distribution could set it to, say, -100 on boot, and thereafter just use IP rules. Change-Id: I82d16e3737d9cdfa6489e649e247894d0d60cbb1 Signed-off-by: Lorenzo Colitti <lorenzo@google.com>
* | netfilter: xt_IDLETIMER: Add new netlink msg typeJP Abgrall2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Send notifications when the label becomes active after an idle period. Send netlink message notifications in addition to sysfs notifications. Using a uevent with subsystem=xt_idletimer INTERFACE=... STATE={active,inactive} This is backport from common android-3.0 commit: beb914e987cbbd368988d2b94a6661cb907c4d5a with uevent support instead of a new netlink message type. Change-Id: I31677ef00c94b5f82c8457e5bf9e5e584c23c523 Signed-off-by: Ashish Sharma <ashishsharma@google.com> Signed-off-by: JP Abgrall <jpa@google.com>
* | netfilter: adding the original quota2 from xtables-addonsJP Abgrall2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The original xt_quota in the kernel is plain broken: - counts quota at a per CPU level (was written back when ubiquitous SMP was just a dream) - provides no way to count across IPV4/IPV6. This patch is the original unaltered code from: http://sourceforge.net/projects/xtables-addons at commit e84391ce665cef046967f796dd91026851d6bbf3 Change-Id: I19d49858840effee9ecf6cff03c23b45a97efdeb Signed-off-by: JP Abgrall <jpa@google.com>
* | netfilter: add xt_qtaguid matching moduleJP Abgrall2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This module allows tracking stats at the socket level for given UIDs. It replaces xt_owner. If the --uid-owner is not specified, it will just count stats based on who the skb belongs to. This will even happen on incoming skbs as it looks into the skb via xt_socket magic to see who owns it. If an skb is lost, it will be assigned to uid=0. To control what sockets of what UIDs are tagged by what, one uses: echo t $sock_fd $accounting_tag $the_billed_uid \ > /proc/net/xt_qtaguid/ctrl So whenever an skb belongs to a sock_fd, it will be accounted against $the_billed_uid and matching stats will show up under the uid with the given $accounting_tag. Because the number of allocations for the stats structs is not that big: ~500 apps * 32 per app we'll just do it atomic. This avoids walking lists many times, and the fancy worker thread handling. Slabs will grow when needed later. It use netdevice and inetaddr notifications instead of hooks in the core dev code to track when a device comes and goes. This removes the need for exposed iface_stat.h. Put procfs dirs in /proc/net/xt_qtaguid/ ctrl stats iface_stat/<iface>/... The uid stats are obtainable in ./stats. Change-Id: I01af4fd91c8de651668d3decb76d9bdc1e343919 Signed-off-by: JP Abgrall <jpa@google.com>
* | Hack: net: PPPoPNS and PPPoLAC build fixes for 4.1Amit Pundir2016-02-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Upstream commit c0371da6047a "put iov_iter into msghdr", added iov_iter and removed direct access to scatter/gather array elements in msghdr. It broke PPPoLAC and PPPoPNS. Lets restore the direct access to scatter/gather array in msghdr for the time being. Otherwise we run into following build failure: ---------- drivers/net/ppp/pppolac.c: In function ‘pppolac_xmit_core’: drivers/net/ppp/pppolac.c:210:4: error: unknown field ‘msg_iov’ specified in initializer .msg_iov = (struct iovec *)&iov, ^ drivers/net/ppp/pppolac.c:211:4: error: unknown field ‘msg_iovlen’ specified in initializer .msg_iovlen = 1, ^ make[3]: *** [drivers/net/ppp/pppolac.o] Error 1 ---------- Change-Id: I2a1245a156da6d93b49f5cfd10506381b0eff005 Signed-off-by: Amit Pundir <amit.pundir@linaro.org> Signed-off-by: Dmitry Shmidt <dimitrysh@google.com>